MySQL笔记之运算符使用详解

所属分类: 数据库 / Mysql 阅读数: 842
收藏 0 赞 0 分享

Mysql可以通过运算符来对表中数据进行运算,比如通过出生日期求年龄等

运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符


算数运算符
加、减、乘运算

复制代码 代码如下:

mysql> select a,a+5,a*2 from t1;
+------+------+------+
| a    | a+5  | a*2  |
+------+------+------+
|   24 |   29 |   48 |
+------+------+------+
 row in set (0.00 sec)

这里的原值为24,后面也可以使用混合运算,只需要注意优先级即可


除法和取模运算

复制代码 代码如下:

mysql> select a,a/3,a div 3,a%5,mod(a,5) from t1;
+------+--------+---------+------+----------+
| a    | a/3    | a div 3 | a%5  | mod(a,5) |
+------+--------+---------+------+----------+
|   24 | 8.0000 |       8 |    4 |        4 |
+------+--------+---------+------+----------+
 row in set (0.00 sec)

此处 / 和 div 代表整除,% 和 mod 代表取模

要注意的是,如果被除数为0,那么计算结果是NULL


比较运算符
数值比较

复制代码 代码如下:

mysql> select a,a=24,a<12,a>40,a>=24,a<=24,a!=24,a<>24,a<=>24 from t1;
+------+------+------+------+-------+-------+-------+-------+--------+
| a    | a=24 | a<12 | a>40 | a>=24 | a<=24 | a!=24 | a<>24 | a<=>24 |
+------+------+------+------+-------+-------+-------+-------+--------+
|   24 |    1 |    0 |    0 |     1 |     1 |     0 |     0 |      1 |
+------+------+------+------+-------+-------+-------+-------+--------+
 row in set (0.00 sec)

这里的1代表真,0代表假,需要说明的是<>和<=>

<>代表不等于,等同于!=

<=>代表等于,等同于=

此外,等于和不等于不仅可以比较数值,还能比较字符串


字符串比较

复制代码 代码如下:

mysql> select a,a='24','ha'<>'ha','xa'='xa','b'!='b' from t1;
+------+--------+------------+-----------+----------+
| a    | a='24' | 'ha'<>'ha' | 'xa'='xa' | 'b'!='b' |
+------+--------+------------+-----------+----------+
|   24 |      1 |          0 |         1 |        0 |
+------+--------+------------+-----------+----------+
 row in set (0.00 sec)

is null 和is not null

复制代码 代码如下:

mysql> select a,a is null, a is not null from t1;
+------+-----------+---------------+
| a    | a is null | a is not null |
+------+-----------+---------------+
|   24 |         0 |             1 |
+------+-----------+---------------+
 row in set (0.00 sec)

这里可以判断是否为空,NULL也可以跟NULL比较


between and和not between and

复制代码 代码如下:

mysql> select a,a between 15 and 30,a not between 15 and 30 from t1;
+------+---------------------+-------------------------+
| a    | a between 15 and 30 | a not between 15 and 30 |
+------+---------------------+-------------------------+
|   24 |                   1 |                       0 |
+------+---------------------+-------------------------+
 row in set (0.00 sec)

between and 和not between and可以判断数值是否在某一区间内


in
mysql> select a,a in(1,2,23),a in(24,12,22) from t1;
+------+--------------+----------------+
| a    | a in(1,2,23) | a in(24,12,22) |
+------+--------------+----------------+
|   24 |            0 |              1 |
+------+--------------+----------------+
 row in set (0.00 sec)
判断操作数是否在某一集合内


like

复制代码 代码如下:

mysql> select s,s like 'beijing',s like 'b%g',s like 'bei____',s like '%jing' from t2;
+---------+------------------+--------------+------------------+----------------+
| s       | s like 'beijing' | s like 'b%g' | s like 'bei____' | s like '%jing' |
+---------+------------------+--------------+------------------+----------------+
| beijing |                1 |            1 |                1 |              1 |
+---------+------------------+--------------+------------------+----------------+
 row in set (0.00 sec)

ike可以用来匹配字符串,_代表单个字符,%代表多个字符


逻辑运算符
与运算

复制代码 代码如下:

mysql> select 2&&2,2&&null,2 and 3,2 and 2;
+------+---------+---------+---------+
| 2&&2 | 2&&null | 2 and 3 | 2 and 2 |
+------+---------+---------+---------+
|    1 |    NULL |       1 |       1 |
+------+---------+---------+---------+
 row in set (0.00 sec)

这里&&和and意思一样


或运算

复制代码 代码如下:

mysql> select 2||2,2||null,2 or 3,2 or 0;
+------+---------+--------+--------+
| 2||2 | 2||null | 2 or 3 | 2 or 0 |
+------+---------+--------+--------+
|    1 |       1 |      1 |      1 |
+------+---------+--------+--------+
 row in set (0.00 sec)

这里||和or的意思一样


非运算

复制代码 代码如下:

mysql> select !1,!2,!null;
+----+----+-------+
| !1 | !2 | !null |
+----+----+-------+
|  0 |  0 |  NULL |
+----+----+-------+
 row in set (0.00 sec)

此外还有位运算,目前还没用到,等用到的时候再补上

更多精彩内容其他人还在看

mysql数据表的基本操作之表结构操作,字段操作实例分析

这篇文章主要介绍了mysql数据表的基本操作之表结构操作,字段操作,结合实例形式分析了mysql表结构操作,字段操作常见增删改查实现技巧与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql学习笔记之完整的select语句用法实例详解

这篇文章主要介绍了mysql学习笔记之完整的select语句用法,结合实例形式详细分析了mysql select语句各种常见参数、使用方法及操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL5.6 GTID模式下同步复制报错不能跳过的解决方法

搭建虚拟机centos6.0, mysql5.6.10主从复制,死活不同步,搞了一整天找到这篇文章终于OK了,特分享一下,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL开启慢查询方法及实例

这篇文章主要介绍了MySQL开启慢查询方法及实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

简单了解MYSQL数据库优化阶段

这篇文章主要介绍了简单了解MYSQL数据库优化阶段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySQL主从复制的配置方法

MySQL主从复制允许将来自一个数据库(主数据库)的数据复制到一个或多个数据库(从数据库),主数据库一般是实时的业务数据写入和更新操作,从数据库常用的读取为主
收藏 0 赞 0 分享

Mysql数据库设计三范式实例解析

这篇文章主要介绍了Mysql数据库设计三范式实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql数据类型和字段属性原理与用法详解

这篇文章主要介绍了mysql数据类型和字段属性,结合实例形式分析了mysql数据类型和字段属性基本概念、原理、分类、用法及操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql连接查询、联合查询、子查询原理与用法实例详解

这篇文章主要介绍了mysql连接查询、联合查询、子查询原理与用法,结合实例形式详细分析了mysql连接查询、联合查询、子查询的基本概念、功能、原理、用法及操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Window下如何恢复被删除的Mysql8.0.17 Root账户及密码

这篇文章主要介绍了Window下如何恢复被删除的Mysql8.0.17 Root账户及密码,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多