广州知名网站建设,兰州做网站客户,文安做网站shijuewang,电子硬件工程师培训机构算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算#xff0c;返回商%: 求余运算#xff0c;返回余数例#xff1a;创建n5表#xff0c;插入数字100#xff0c;查看数据表分别查看、-、*、/、%mysql create table n5(- num int);
Query OK, 0 rows affected…算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算返回商%: 求余运算返回余数例创建n5表插入数字100查看数据表分别查看、-、*、/、%mysql create table n5(- num int);
Query OK, 0 rows affected (0.00 sec)
mysql insert into n5 values(100);
Query OK, 1 row affected (0.00 sec)
mysql select num, num3,num-3,num*3,num/3,num%3 from n5;
-------------------------------------------
| num | num3 | num-3 | num*3 | num/3 | num%3 |
-------------------------------------------
| 100 | 103 | 97 | 300 | 33.3333 | 1 |
-------------------------------------------
1 row in set (0.00 sec)运算符作用等于安全的等于不等于也可写成!小于等于大于等于大于IS NULL判断一个值是否为NULLIS NOT NULL判断一个值是否不为NULLLEAST当有两个或多个参数时返回最小值GREATEST当有两个或多个参数时返回最大值BETWEEN AND判断一个值是否落在两个值之间ISNULL与IS NULL作用相同IN判断一个值是否是IN列表中的任意一个值NOT IN判断一个值是否不是IN列表中的任意一个值LIKE通配符匹配REGEXP正则表达式匹配等于运算符 ( ) 等于运算符用来判断数字、字符串和表达式是否相等如果相等则返回值为 1 否则返回值为 0 如果有一个值是 NULL 则比较结果为 NULL。mysql select 10,22,(13)(22),NULLNULL;
------------------------------------
| 10 | 22 | (13)(22) | NULLNULL |
------------------------------------
| 0 | 1 | 1 | NULL |
------------------------------------
1 row in set (0.01 sec)安全等于运算符 ( ) 这个操作符和等于运算符()的作用一致只不过多了一个功能就是可以判断 NULL 值。mysql select 10,22,(13)(22),NULLNULL;
--------------------------------------------
| 10 | 22 | (13)(22) | NULLNULL |
--------------------------------------------
| 0 | 1 | 1 | 1 |
--------------------------------------------
1 row in set (0.00 sec)不等于运算符 ( 或 ! ) 不等于运算符用于判断数字、字符串、表达式是否不相等如果不相等则返回 1否则返回 0 但是不能判断NULL 值。mysql select goodgod,12,4!4,5.5!5,NULLNULL;
-----------------------------------------------
| goodgod | 12 | 4!4 | 5.5!5 | NULLNULL |
-----------------------------------------------
| 1 | 1 | 0 | 1 | NULL |
-----------------------------------------------
1 row in set (0.00 sec)IS NULL 、ISNULL 、IS NOT NULLIS NULL 和 ISNULL 检验一个值是否为 NULL 如果为 NULL 返回值为 1否则返回值为 0。IS NOT NULL 检验一个值是否不为 NULL 如果不为 NULL 返回值为 1否则返回值为 0。mysql select null is null,isnull(null),isnull(10),10 is not null;
--------------------------------------------------------
| null is null | isnull(null) | isnull(10) | 10 is not null |
--------------------------------------------------------
| 1 | 1 | 0 | 1 |
--------------------------------------------------------
1 row in set (0.00 sec)BETWEEN AND用于判断一个值是否落在两个值之间mysql select 4 between 2 and 5,4 between 4 and 6, 12 between 9 and 10;
-----------------------------------------------------------
| 4 between 2 and 5 | 4 between 4 and 6 | 12 between 9 and 10 |
-----------------------------------------------------------
| 1 | 1 | 0 |
-----------------------------------------------------------
1 row in set (0.00 sec)LEAST 、GREATESTLEAST 当有两个或多个参数时返回最小值如果有一个值是 NULL 则返回结果为 NULLGREATEST 当有两个或多个参数时返回最大值如果有一个值是 NULL 则返回结果为 NULLmysql select least(2,0),least(a,c,b),least(10,null),greatest(2,0),greatest(10,null);
----------------------------------------------------------------------------------
| least(2,0) | least(a,c,b) | least(10,null) | greatest(2,0) | greatest(10,null) |
----------------------------------------------------------------------------------
| 0 | a | NULL | 2 | NULL |
----------------------------------------------------------------------------------
1 row in set (0.00 sec)IN 、NOT ININ 判断一个值是否是 IN 列表中的任意一个值NOT IN 判断一个值是否不是 IN 列表中的任意一个值mysql select 2 in (1,3,5), 2 not in (1,3,5);
--------------------------------
| 2 in (1,3,5) | 2 not in (1,3,5) |
--------------------------------
| 0 | 1 |
--------------------------------
1 row in set (0.00 sec)LIKELIKE 运算符用来匹配字符串如果匹配则返回 1如果不匹配则返回 0LIKE 使用两种通配符% 用于匹配任何数目的字符包括零字符 _ 只能匹配一个字符mysql SELECT stud LIKE stu_, stud LIKE s___, stud LIKE %d;
----------------------------------------------------------
| stud LIKE stu_ | stud LIKE s___ | stud LIKE %d |
----------------------------------------------------------
| 1 | 1 | 1 |
----------------------------------------------------------
1 row in set (0.00 sec)REGEXPREGEXP 运算符用来匹配字符串如果匹配则返回 1如果不匹配则返回 0REGEXP 使用几种通配符^ 用于匹配以什么开头的字符串$ 用于匹配以什么结尾的字符串. 用于匹配任何一个单字符串[...] 用于匹配在方括号内的任何字符* 用于匹配零个或多个在它前面的字符mysql SELECT ssky REGEXP ^s, ssky REGEXP y$, ssky REGEXP .sky, ssky REGEXP [ab];
-------------------------------------------------------------------------------------
| ssky REGEXP ^s | ssky REGEXP y$ | ssky REGEXP .sky | ssky REGEXP [ab] |
-------------------------------------------------------------------------------------
| 1 | 1 | 1 | 0 |
-------------------------------------------------------------------------------------
1 row in set (0.00 sec)逻辑运算符运算符作用NOT或逻辑非AND或逻辑与OR或||逻辑或XOR逻辑异或逻辑非 ( NOT 或 )当操作数为 0 时所得值为 1当操作数为非 0 时所得值为 0当操作数为 NULL 时所得值为 NULLmysql SELECT NOT 10, !10, NOT (1-1), !(1-1), NOT 11, NOT NULL;
---------------------------------------------------
| NOT 10 | !10 | NOT (1-1) | !(1-1) | NOT 11 | NOT NULL |
---------------------------------------------------
| 0 | 0 | 1 | 1 | 0 | NULL |
---------------------------------------------------
1 row in set (0.04 sec)逻辑与 ( AND 或 )当所有操作数均为非零值、并且不为 NULL 时所得值为 1当一个或多个操作数为 0 时所得值为 0其余情况所得值为 NULLmysql SELECT 1 AND -1, 1 0, 0 AND NULL, 1 NULL;
-----------------------------------------
| 1 AND -1 | 1 0 | 0 AND NULL | 1 NULL |
-----------------------------------------
| 1 | 0 | 0 | NULL |
-----------------------------------------
1 row in set (0.00 sec)逻辑或 ( OR 或 || )当两个操作数均为非 NULL 值且任意一个操作数为非零值时结果为 1 否则为 0当有一个操作数为 NULL 且另一个操作数为非零值时则结果为 1 否则结果为 NULL当两个操作数均为 NULL 时则所得结果为 NULLmysql SELECT 1 OR -1 OR 0, 1 || 2, 0 OR NULL, NULL || NULL;
-----------------------------------------------
| 1 OR -1 OR 0 | 1 || 2 | 0 OR NULL | NULL || NULL |
-----------------------------------------------
| 1 | 1 | NULL | NULL |
-----------------------------------------------
1 row in set (0.01 sec)逻辑异或 ( XOR )a XOR b 的计算等同于 ( a AND (NOT b) ) 或 ( (NOT a) AND b )当任意一个操作数为 NULL 时返回值为 NULL对于非 NULL 的操作数如果两个操作数都是非 0 值或者都是 0 值则返回结果为 0如果一个为 0 值另一个为非 0 值返回结果为 1mysql SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;
------------------------------------------------------
| 1 XOR 1 | 0 XOR 0 | 1 XOR 0 | 1 XOR NULL | 1 XOR 1 XOR 1 |
------------------------------------------------------
| 0 | 0 | 1 | NULL | 1 |
------------------------------------------------------
1 row in set (0.02 sec)位运算符运算符作用|位或位与^位异或位左移位右移~位取反位或运算符 ( | )对应的二进制位有一个或两个为 1 则该位的运算结果为 1 否则为 0mysql select 10|15,9|4|2;
--------------
| 10|15 | 9|4|2 | # 10的二进制为1010,15的二进制为1111按位或运算之后结果为1111即15
-------------- # 9的二进制为1001,4为0100,2的二进制为0010按位或运算之后1111
| 15 | 15 |
--------------
1 row in set (0.00 sec)位与运算符 ( )对应的二进制位都为 1 则该位的运算结果为 1 否则为 0mysql SELECT 1015,942;
--------------
| 1015 | 942 |
--------------
| 10 | 0 |
--------------
1 row in set (0.00 sec)
位异或运算符 ( ^ ) 对应的二进制位不相同时结果为 1 否则为 0mysql SELECT 10^15,1^0,1^1;
-----------------
| 10^15 | 1^0 | 1^1 |
-----------------
| 5 | 1 | 0 |
-----------------
1 row in set (0.00 sec)位左移运算符 ( ) 使指定的二进制位都左移指定的位数左移指定位之后左边高位的数值将被移出并丢弃右边低位空出的位置用 0 补齐mysql select 12,42;
------------
| 12 | 42 | # 1的二进制值为00000001左移两位之后变成00000100即十进制数4
------------
| 4 | 16 | # 4的二进制值为00000100左移两位之后变成00010000即十进制数16
------------
1 row in set (0.00 sec)位右移运算符 ( ) 使指定的二进制位都右移指定的位数右移指定位之后右边低位的数值将被移出并丢弃左边高位空出的职位用 0 补齐mysql select 11, 162;
-------------
| 11 | 162 |
-------------
| 0 | 4 |
-------------
1 row in set (0.00 sec)位取反运算符 ( ~ )将对应的二进制数逐位反转即 1 取反后变 0 0 取反后变 1mysql select 5 ~1;
-------
| 5 ~1 |
-------
| 4 |
-------
1 row in set (0.00 sec)