MySql的运算符

数据库中的表结构确立后,表中的数据表明的意义就已经肯定。而经过MySQL运算符进行运算,就能够获取到表结构之外的另外一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么获得的就是这个学生的实际年龄数据。这就是MySQL的运算符,因此熟悉并掌握运算符的应用,对于操做MySQL数据库中的数据是很是有用的。下面就来熟悉一下MySQL支持的4种运算符都具有哪些功能。正则表达式

算术运算符:执行算术运算,例如:加、减、乘、除等。数据库

比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。spa

逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。code

位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制,而后在二进制格式下进行操做,运算完成后,将二进制的值转换为原来的类型,返回给用户。blog

算术运算符

算术运算符是MySQL中最经常使用的一类运算符。MySQL支持的算术运算符包括:加、减、乘、除、求余。字符串

 

加(+)、减(-)和乘(*)能够同时计算多个操做数。除号(/)和求余运算符(%)也能够同时计算多个操做数,可是这两个符号计算多个操做数不太好。DIV和MOD这两个运算符只有两个参数。进行除法和求余的运算时,若是x2参数是0或者null,计算结果将是空值(NULL)。class

比较运算符

比较运算符是查询数据时最经常使用的一类运算符。SELECT语句中的条件语句常常要使用比较运算符。经过这些比较运算符,能够判断表中的哪些记录是符合条件的。二进制

下面对几种较经常使用的比较运算符进行详解。方法

1.运算符“=”,“=”用来判断数字、字符串和表达式等是否相等。若是相等,返回1,不然返回0。im

说明:在运用“=”运算符判断两个字符是否相同时,数据库系统都是根据字符的ASCII码进行判断的。若是ASCII码相等,则表示这两个字符相同。若是ASCII码不相等,则表示这两个字符不相同。注意,空值(NULL)不能使用“=”来判断。

2.运算符“<>”和“!=”,“<>”和“!=”用来判断数字、字符串、表达式等是否不相等。若是不相等,则返回1;不然,返回0。这两个符号也不能用来判断空值(NULL)。

3.运算符“>”,“>”用来判断左边的操做数是否大于右边的操做数。若是大于,返回1;不然,返回0。一样,空值(NULL)不能使用“>”来判断。

4.运算符“IS NULL”,“IS NULL”用来判断操做数是否为空值(NULL)。操做数为NULL时,结果返回1;不然,返回0。IS NOT NULL恰好与IS NULL相反。

说明:“=”、“<>”、“!=”、“>”、“>=”、“<”、“<=”等运算符都不能用来判断空值(NULL)。一旦使用,结果将返回NULL。若是要判断一个值是否为空值,可使用IS NULL和IS NOT NULL来判断。注意:NULL和'NULL'是不一样的,前者表示为空值,后者表示一个由4个字母组成的字符串。

5.运算符“BETWEEN AND”,“BETWEEN AND”用于判断数据是否在某个取值范围内。

其表达式以下:

x1 BETWEEN m AND n

若是x1大于等于m,且小于等于n,结果将返回1,不然将返回0。

6.运算符“IN”,“IN”用于判断数据是否存在于某个集合中。

其表达式以下:

x1 IN(值1,值2,……,值n)

若是x1等于值1到值n中的任何一个值,结果将返回1。若是不是,结果将返回0。

7.运算符“LIKE”,“LIKE”用来匹配字符串。

其表达式以下:

x1 LIKE s1

若是x1与字符串s1匹配,结果将返回1。不然返回0。

8.运算符“REGEXP” ,REGEXP”一样用于匹配字符串,但其使用的是正则表达式进行匹配。

其表达式格式以下:

x1 REGEXP'匹配方式'

若是x1知足匹配方式,结果将返回1;不然将返回0。

说明:使用REGEXP运算符匹配字符串,其使用方法很是简单。REGEXP运算符常常与“^”、“$”和“.”一块儿使用。“^”用来匹配字符串的开始部分;“$”用来匹配字符串的结尾部分;“.”用来表明字符串中的一个字符。 

逻辑运算符 

逻辑运算符用来判断表达式的真假。若是表达式是真,结果返回1。若是表达式是假,结果返回0。逻辑运算符又称为布尔运算符。MySQL中支持4种逻辑运算符,分别是与、或、非和异或。

 

1.“与”运算

“&&”或者“AND”是“与”运算的两种表达方式。若是全部数据不为0且不为空值(NULL),则结果返回1;若是存在任何一个数据为0,则结果返回0;若是存在一个数据为NULL且没有数据为0,则结果返回NULL。“与”运算符支持多个数据同时进行运算。

2.“或”运算

“||”或者“OR”表示“或”运算。全部数据中存在任何一个数据为非0的数字时,结果返回1;若是数据中不包含非0的数字,但包含NULL时,结果返回NULL;若是操做数中只有0时,结果返回0。“或”运算符“||”能够同时操做多个数据。

3.“非”运算

“!”或者NOT表示“非”运算。经过“非”运算,将返回与操做数据相反的结果。若是操做数据是非0的数字,结果返回0;若是操做数据是0,结果返回1;若是操做数据是NULL,结果返回NULL。

4.“异或”运算

XOR表示“异或”运算。当其中一个表达式是真而另一个表达式是假时,该表达式返回的结果才是真;当两个表达式的计算结果都是真或者都是假时,则返回的结果为假。

位运算符 

位运算符是在二进制数上进行计算的运算符。位运算会先将操做数变成二进制数,进行位运算。而后再将计算结果从二进制数变回十进制数。MySQL中支持6种位运算符,分别是:按位与、按位或、按位取反、按位异或、按位左移和按位右移。

 

运算符的优先级

 

相关文章
相关标签/搜索