MySQL的运算符(九)上

简介: MySQL的运算符(九)

我们讲过了,插入数据,修改数据和删除数据,你以为该讲查询数据了吗? 怎么可能,查询数据那么麻烦,老蝴蝶才不先讲呢。


这一章讲解一下 MySQL的运算符。


MySQL的运算符,与 Java, C 或者C++一样,也有一些常见的运算符。


MySQL的运算符分类:


  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符


相比较 Java, 少了 赋值运算符 和 ?三目运算符, instanceof 运算符等。


仍然使用 yuejl 数据库的 user 表。


20191125084148729.png


一. 算法运算符


一.一 拥有运算符


image.png


结果是一个新的数值。


一.二 举例查询


1 . 可以单独在数据库中查询,不指定表。 也不用像oracle 数据库那样 用 dual 虚拟表。


  select 2+7,7-2,2*7,7/2,7%2 ;


2019112508415645.png


2 . 与数据库表里面的 整数型数据进行联合


如, user 表里面的 age 字段。


  select age,age+2,age-2,age*2,age/2,age%2 from user;


20191125084205743.png


可以发现, MySQL 会保留四位小数。 如 24/2 时是 12.0000


一.三 除0 和%0 的操作


除数不能为0. 看MySQL 如何处理的


  select 2/0,2%0;


20191125084213707.png


两个结果都是0. 但注意,有警告,虽然不报错。


1 row in set, 2 warnings (0.00 sec)


二. 比较运算符


二.一 拥有运算符



image.png


二.二 举例查询


二.二.一 = 号 比较, 返回值为 0(假) 1(真)


  select 2=7,2=2,'yuezl'='yuezl','2'=2,(2+7)=(5+4),2=null,null=null;


20191125084257262.png


前两个 2=7,2=2 是普通的数字比较。 第三个 ‘yuezl’=‘yuezl’ 是字符串的比较。


‘2’=2 是字符串与数字的比较, 会先将字符串转换成数字,再进行比较。


(2+7)=(5+4) 是表达式比较,表达式结果相同,为真。


2=null 返回的是null


null=null, 返回的是 null, 当与 null进行比较时,无论是什么,都返回 null.


非数字型字符串也可以与数字进行= 号, 一律返回 假 (0)


  select 97='a';


20191125084315759.png


二.二.二 <=> 号比较。 返回值为 0(假) 1(真)


这个叫 安全等, 是对 =的加强版。 加强的是什么呢, 加强的是 null 值。 当左右两个比较值没有一个值为null时,那么 <=> 就等于 ‘=’ 号。 如果有 null值,那么就不一样了。


  select 2<=>null,null<=>7,null<=>null;


20191125084326626.png


两个均为null时,不返回 null,而是返回 1(真)。 只有一个为null时,那么返回 0 (假)


二.二.三 < 号 返回值为 0(假) 1(真)


  select 2<7,2.500<7,'yuezl'<'abc',null<null;


20191125084334658.png


字符串比较时,按照 ASCII 码进行比较, 与java中的字符串比较一致。


null与null 比较时,返回 null.


非数字型字符串也可以与 数字进行比较, 会先将字符串通过ASCII 码 转换成数字,然后再进行比较。


  select 98>'a',98>'abc',95<'a',95<'abc';


20191125084342999.png


但看见没有,有警告。 所以,最好不要这么比较。 接下来,也都正常的进行比较。


二.二.四 > 号。 返回值为 0(假) 1(真)


   select 7>2,(3+5)>(2+1),'bc'>'ac',null>null;


20191125084350676.png


二.二.五 <>号|!= 返回值为 0(假) 1(真)


不等于号, 用 <> 或者 != 均可以。 但建议使用 <> 号。


  select 7<>2,7!=2,'yuejl'<>'yuejl','yuejl'!='good',(3+4)<>(2+4),null <> null;


20191125084356533.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL Java
MYSQL运算符和分页
MYSQL运算符和分页
119 0
|
SQL 关系型数据库 MySQL
MySql where 查询条件与运算符
MySql where 查询条件与运算符
185 0
|
关系型数据库 MySQL Java
【MySQL进阶之路 | 基础篇】[MySQL]运算符
【MySQL进阶之路 | 基础篇】[MySQL]运算符
|
SQL 关系型数据库 MySQL
mysql基本查询、运算符、排序和分页
mysql基本查询、运算符、排序和分页
177 0
|
SQL 关系型数据库 MySQL
MySQL数据类型、运算符以及数据库范式
MySQL数据类型、运算符以及数据库范式
174 0
MySQL数据类型、运算符以及数据库范式
|
SQL 安全 关系型数据库
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数
152 0
|
关系型数据库 MySQL 数据库
【MySQL进阶之路丨第十七篇(完结)】一文带你精通MySQL运算符
【MySQL进阶之路丨第十七篇(完结)】一文带你精通MySQL运算符
198 0
|
存储 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-3
MySQL基础篇(运算符、排序分页、多表查询、函数)
197 0
|
SQL 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-2
MySQL基础篇(运算符、排序分页、多表查询、函数)
202 0
|
SQL 关系型数据库 MySQL
MySQL基础篇(运算符、排序分页、多表查询、函数)-1
MySQL基础篇(运算符、排序分页、多表查询、函数)
184 0

推荐镜像

更多