MySQL从入门到精通

第1章:MySQL基础

1.1运算符

1.1.1 算术运算符

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

算术运算符
符号    作用    符号    作用
+    加法运算    %    求余运算
-    减法运算    DIV    除法运算
*    乘法运算    MOD    求余运算,返回余数
/    除法运算    

加(+)、减(-)和乘(*)可以同时运算多个操作数。除号(/)和求余运算符(%)也可以同时计算多个操作数,但不建议使用。DIV和MOD这两个运算符只有两个参数。进行除法和求余的运算时,如果x2参数是0,计算结果将是空值(NULL)。

1.1.2 比较运算符

比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常使用比较运算符。比较运算符可以用于判断表中的哪些记录是符合条件的。比较运算符的符号、名称和应用示例如下表所示。

比较运算符
符号    名称    示例    符号    名称    示例
=    等于    id=5    is not null    n/a    id is not null
>    大于    id>5    between and    n/a    id between 1 and 15
<    小于    id<5    in    n/a    id in (3,4,5)
>=    大于或等于    id>=5    not in    n/a    name not in (shi,li)
<=    小于或等于    id<=5    like    匹配模式    name like ('shi%')
!=或<>    不等于    id!=5    not like    匹配模式    name not like ('shi%')
is null    n/a    id IS NULL    regexp    常规表达式    name 正规表达式
下面对几种较常用的比较运算符进行详解

1、运算符"="

"="用来判断数字、字符串和表达式等是否相等。如果相等,返回1;否则,返回0。

在使用运算符"="判断两个字符是否相同时,数据库系统是根据字符的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。

5、运算符BETWEEN AND

BETWEEN AND用于判断数据是否在某个取值返回内,其表达式如下。

x1 BETWEEN m AND n

如果x1大于或等于m,且小于或等于n,结果将返回1;否则,将返回0。

6、运算符IN

IN用于判断数据是否在某个集合中,其表达式如下。

x1 IN(值1,值2,值3,...,值n)

如果x1等于值1到值n中的任何一个值,则结果将返回1;否则,结果将返回0。

7、运算符LIKE

LIKE用来匹配字符串,其表达式如下。

x1 LIKE s1

如果x1与字符串s1匹配,结果将返回1;否则,返回0。

8、运算符REGEXP

REGEXP同样用于匹配字符串,但其使用的是正则表达式进行匹配,其表达式如下。

1.1.3 逻辑运算符

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

逻辑运算符
符号    作用    符号    作用
&&或AND    与    !或NOT    非
||或OR    或    XOR    异或
1、与运算

'&&'或'AND'是与运算的两种表达方式。如果所有数据不为0且不为空值,结果返回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表示异或运算。只要其中任何一个操作数据为NULL,结果就返回NULL;如果两个操作数都是非0值,或者都是0,则结果返回0;如果一个为0,另一个为非0值,则结果返回1。

1.1.4 运算符的优先级

由于在实际应用中可能需要同时使用多个运算符,因此必须考虑运算符的运算顺序。

MySQL运算符使用的优先级,按照从高到低、从左到右的级别进行运算操作。

MySQL运算符的优先级
优先级    运算符
1    !
2    ~
3    ^
4    *,/,DIV,%,MOD<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值