mysql 除号_MySql的运算符-阿里云开发者社区
数据库中的表结构确立后,表中的数据代表的意义就已经确定。而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的实际年龄数据。这就是MySQL的运算符,所以熟悉并掌握运算符的应用,对于操作MySQL数据库中的数据是非常有用的。下面就来熟悉一下MySQL支持的4种运算符都具备哪些功能。
算术运算符:执行算术运算,例如:加、减、乘、除等。
比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。
逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。
位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制,然后在二进制格式下进行操作,运算完成后,将二进制的值转换为原来的类型,返回给用户。
算术运算符
算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括:加、减、乘、除、求余。
加(+)、减(-)和乘(*)可以同时计算多个操作数。除号(/)和求余运算符(%)也可以同时计算多个操作数,但是这两个符号计算多个操作数不太好。DIV和MOD这两个运算符只有两个参数。进行除法和求余的运算时,如果x2参数是0或者null,计算结果将是空值(NULL)。
比较运算符
比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。
下面对几种较常用的比较运算符进行详解。
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来判断。注意: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种位运算符,分别是:按位与、按位或、按位取反、按位异或、按位左移和按位右移。
运算符的优先级
mysql 除号_MySql的运算符-阿里云开发者社区相关推荐
- 阿里云 mysql 日志_MySQL日志简介-阿里云开发者社区
MySQL中的日志主要分为以下几种: 查询日志 慢查询日志 错误日志 二进制日志 中继日志 事务日志 说明: 支持本文实验使用的linux系统是CentOS7版本,使用的数据库是base源自带的Mar ...
- freebsd mysql 安装_Freebsd中mysql安装及使用笔记-阿里云开发者社区
Freebsd中mysql安装及使用笔记 x3d 2009-07-31 662浏览量 简介: 1.安装 一开始连mysql的软件包在freebsd中叫什么都不知道: 依稀属于databases类,先到 ...
- openstack mysql配置_《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务-阿里云开发者社区...
本节书摘来异步社区<OpenStack云计算实战手册(第2版)>一书中的第2章,第2.3节,作者: [英]Kevin Jackson , [美]Cody Bunch 译者: 黄凯 , 杜玉 ...
- MySQL 引擎 阿里_MySQL引擎讲解-阿里云开发者社区
MySQL支持三个引擎:ISAM.MyISAM和HEAP,根据需求不同来选择不同的引擎 数据库的引擎到决于 MySQL 在安装的时候是如何被编译的,要添加一个新的引擎,就必须重新编译 --with-p ...
- 阿里云mysql创建用户_mysql创建用户-阿里云开发者社区
创建用于localhost连接的用户并指定密码 mysql> create user'pcom'@'localhost'identified by'aaa7B2249'; Query OK,0r ...
- 阿里云mysql事件启动_mysql 启动事件-阿里云开发者社区
事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里. ...
- mysql官方读写性能_mysql读写性能测试-阿里云开发者社区
概述和测试环境 压测的目的是为了尽量模拟真实情况.测试的表都是由10个int型字段和10个字符串型字段组成.每个测试项目都测试了myisam和innodb两个引擎.测试的方法都是用两个线程并发,一共跑 ...
- mysql子分区多少层_MySQL 子分区-阿里云开发者社区
介绍 子分区其实是对每个分区表的每个分区进行再次分隔,目前只有RANGE和LIST分区的表可以再进行子分区,子分区只能是HASH或者KEY分区.子分区可以将原本的数据进行再次的分区划分. 一.创建子分 ...
- perl导入文本至mysql_Perl 脚本实现MySQL 异机导入导出-阿里云开发者社区
单位的开发同事需要将一个mysql 中的库导入到本地mysql中 所以为了减少手工操作,就写了下面的一个用perl 实现的 mysql 异机导入导出脚本:如下 #!/usr/bin/perl -w ...
最新文章
- FW 每秒百万级别的 HTTP 请求 sung: 重型的(heavy-duty)、分布式的、多协议测试工具...
- 结队作业,小学生3年级数学题出题器
- Git权威指南-51CTO读书
- 苹果支付:如何解决沙盒环境下获取可恢复购买项为空
- 95-140-040-源码-transform-简介
- Spring AOP(三)之AfterThrowing增强处理
- 电子技术基础资料合集
- 使用C语言判断一个数是否为素数
- 详解三相直流无刷电机驱动器硬件原理图
- 原生JS实现图片爆炸特效
- 台湾安格AG6202与CS5210参数差异与区别|HDMI转VGA方案比较|AG6202与CS5210电路设计差异
- CentOS7无法解压7za包,解决办法!!!
- [源码解析] 深度学习分布式训练框架 horovod (11) --- on spark --- GLOO 方案
- luogu 1094
- 为何epoll的ET模式文件要设置为非阻塞?
- c语言cross函数什么意思,通达信cross函数用法,通达信 filter函数 返回什么值
- 【Anroid界面实现】通用的桌面悬浮窗口的实现
- 数据结构,为何是工程师最重要的基本功?
- 陈冠希为中国制造发声,他的潮牌生意年收入高达1000多万美金,潮流文化将成为一股消费的中坚力量。...
- 肠道核心菌属——毛螺菌属(Lachnospira)