第 6 节 MySQL函数和操作符

1. 环境登录

无需密码自动登录,系统用户名shiyanlou

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  1. 命令行终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令

  2. Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可

  3. gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器

  4. gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发

3. 环境使用

使用GVim编辑器输入实验所需的代码及文件,使用Xfce终端(XfceTerminal)运行所需命令进行操作。

实验报告可以在个人主页中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

一、操作符

1.1 操作符优先级

以下列表显示了操作符优先级的由低到高的顺序。排列在同一行的操作符具有相同的优先级。

此处输入图片的描述

其中,部分操作符的优先级取决于SQL的模式:

1.2 圆括号( ... )

使用括弧来规定表达式的运算顺序,例如:

mysql> SELECT 1+2*3;

mysql> SELECT (1+2)*3;

此处输入图片的描述

1.3 比较函数和操作符

比较运算产生的结果为1(TRUE)0 (FALSE)NULL。这些运算可用于数字和字符串。如果必要的话,字符串可自动转换为数字,而数字也可自动转换为字符串。

本节中的一些函数(如LEAST()GREATEST())的返回值并不会返回1(TRUE)0 (FALSE)NULL这样的结果。但是按照下述规则函数进行比较运算后其返回值可以为以上结果:

MySQL按照以下规则进行数值比较:

在默认状态下,字符串比较不区分大小写,并使用现有字符集(默认为cp1252 Latin1,同时也适用于英语)。

为了达到比较的目的,可使用CAST()函数将某个值转为另外一种类型。使用CONVERT()可以将字符串值转为不同的字符集。

下面对各类操作符的使用进行示例:

1.4 逻辑操作符

在SQL中,所有逻辑操作符的计算所得结果均为TRUEFALSENULL(UNKNOWN)。在MySQL中,它们的表达形式为1 (TRUE)0 (FALSE)NULL,这在不同SQL数据库服务器上都是通用的,然而有一些服务器对TRUE的返回值可能是任意一个非零值。

二、控制流程函数

三、字符串函数

如果字符串函数返回结果的长度大于max_allowed_packet系统变量的最大值时,字符串值函数的返回值为NULL。

对于在字符串上操作的函数,第一个位置的编号为 1。

注意:如果len使用的是一个小于1的值,则结果始终为空字符串。

四、数值函数

4.1 算数操作符

4.2 数学函数

若发生错误,所有数学函数会返回NULL

五、日期和时间函数

六、全文搜索功能

MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION])

MySQL支持全文索引和搜索功能。

七、Cast函数和操作符

八、其他函数

位函数

对于位运算,MySQL 使用 BIGINT (64位)算法,因此这些操作符的最大范围是 64 位。

九、思考与练习

当你看到这一节的时候,恭喜你,你已经完成了一个艰巨的任务!因为我在翻译的时候就知道涉及到的知识很多,当然还有很多函数没有全部写上,既然是参考手册,不要求你们全部掌握,只要在需要的时候查阅即可,但是前提是得掌握一些基本的函数和操作符的运用;因此,希望你们能在实验楼操作以上函数或者操作符中感兴趣的语句,记得写入实验报告让我瞧瞧你的学习状态哦~