《MySQL入门很简单》学习笔记(12)之第12章MySQL运算符(关键词:MySQL/算术运算符/比较运算符/逻辑运算符/位运算符)
来源:互联网 发布:逆战网络迟 编辑:程序博客网 时间:2024/06/11 13:09
第12章 MySQL运算符
运算符是用来连接表达式中各个操作数的符号。 作用: 用来指明对操作数所进行的运算。 包括: 算术运算符; 比较运算符; 逻辑运算符; 位运算符。
12.1 运算符简介
当数据库中的表定义完成后,表中的数据代表的意义就已经定下来了。通过使用运算符进行运算,可以得到包含另一层意义的数据。 MySQL运算符可以指明对表中数据所进行的运算,以便得到用户希望得到的数据。 包括: 算数运算符,包括加、减、乘、除、求余(也称为模运算),主要用于数值计算; 比较运算符,包括大于、小于、等于、不等于、为空,主要用于数值的比较、字符串的匹配; 例如: LIKE、IN、BETWEEN AND、IS NULL、REGEXP等 REGEXP也是比较运算符; 逻辑运算符,包括与、或、非、异或,这种运算结果只返回真值(1或true)和假值(0或false); 位运算符,包括按位与、按位或、按位取反、按位异或、按位左移、按位右移,这些运算必须先数值变为二进制,然后在二进制数上进行操作。 注意: 逻辑运算符和位运算符都有与、或、异或等操作。 但是,位运算必须先把数值变成二进制类型,然后再进行按位操作。运算完成后,将这些二进制的值再变回原来的类型,返回给用户。 逻辑运算直接进行运算,结果只返回真值(1或true)和假值(0或false)。
12.2 算数运算符
12.3 比较运算符
运算符“LIKE”
LIKE关键字经常和通配符“_”和“%”一起使用。 “_”代表单个字符; “%”代表任意长度的字符。
运算符“REGEXP”
REGEXP关键字经常与“^”、“$”、“.”一起使用。 “^”用来匹配字符串的开始部分; “$”用来匹配字符串的末尾部分; “.”用来代表字符串中的一个字符。
12.4 逻辑运算符
逻辑运算符又称为布尔运算符。 逻辑运算符用来判断表达式的真假。 逻辑运算符的返回的结果只有1、0。 MySQL支持4种逻辑运算符: 与(&&或者AND); 或(||或者OR); 非(!或者NOT); 异或(XOR)。 1. 与运算 “&&”或者AND。 只要与运算中存在操作数为0,则运算结果一定为0。 规则: 所以操作数不为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。 基本形式: x1 XOR x2。 只要其中任何一个操作数为NULL时,结果返回NULL; 如果x1和x2都是非0的数字或者都是0时,结果返回0; 如果x1和x2中一个是非0,另一个是0时,结果返回1。 注意: MySQL中进行异或运算时,所有大于-1小于1的数字都被视为逻辑0,其他数字被视为逻辑1。(详细解释见书上)
12.5 位运算符
位运算符是指在二进制数上进行计算的运算符。 位运算符会先将操作数变成二进制数,然后进行位运算,最后再将计算结果从二进制数变回十进制数。 MySQL支持6种位运算符: 按位与(&); 按位或(|); 按位取反(~); 按位异或(^); 按位左移(<<); 按位右移(>>)。 1.按位与 “&”表示按位与。 1和1相与得1; 1和0相与得0。 2.按位或 “|”表示按位或。 1和任何数进行或运算的结果是1; 0和任何数进行或运算的结果是0。 3.按位取反 “~”表示按位取反。 将操作数化为二进制数后,每位都进行取反运算。 1取反后变成0; 0取反后变成1。 使用BIN()函数可以查看二进制数。
4.按位异或
“^”表示按位异或。
将操作数化为二进制数后,每位都进行异或运算。
相同的数异或之后的结果是0,不同的数异或之后结果是1。
5.按位左移与按位右移
12.6 运算符的优先级
12.9 常见问题及解答
1.比较运算符的运算结果只能是0和1吗?
2.哪种运算符的优先级最高?
3.十进制的数也可以直接使用位运算符吗?
参考文献:
1.《MySQL入门很简单》。
阅读全文
0 0
- 《MySQL入门很简单》学习笔记(12)之第12章MySQL运算符(关键词:MySQL/算术运算符/比较运算符/逻辑运算符/位运算符)
- MySQL学习----MySQL 算术运算符----08MySQL 逻辑运算符与位运算符
- Java学习笔记(运算符/Java的算术运算符/赋值运算符/比较运算符/逻辑运算符)
- mysql的算术运算符和比较运算符
- MySQL学习----MySQL 算术运算符----07MySQL 比较运算符
- MySQL学习之比较运算符
- MySQL学习----MySQL 算术运算符----06MySQL 算术运算符
- 算数运算符(+-*/)优先级>移位运算>位运算>逻辑运算
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- Java学习-算术运算符-赋值运算符-逻辑运算符-位运算符
- mysql学习笔记之十(mysql运算符)
- MySQL学习笔记(三)--运算符
- MySQL学习笔记9(运算符)
- Java 运算符: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符
- PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符
- mysql之运算符
- 黑马程序员---Java基础学习之算术运算符、赋值运算符、比较运算符、逻辑运算符
- MySQL逻辑运算符 NULL运算结果
- glibc g_strsplit 切割字符串
- Struts2 配置文件详解
- winform屏幕自适应
- 第5章 Excel事件
- php中的鉴权类
- 《MySQL入门很简单》学习笔记(12)之第12章MySQL运算符(关键词:MySQL/算术运算符/比较运算符/逻辑运算符/位运算符)
- protobuf与json互相转换
- 简述memcache的理解和工作原理
- krpano 功能化 -- linux 部署
- Oracle 定时任务
- 自定义圆形progressbar(包含进度动画效果)
- cocos creator 自适应宽高的label
- java,List转数组,数组转字符串,输出
- SQLyog常用快捷键