【MySQL】近2万字,138张图解,我终于把mysql总结完整了,建议收藏(15)



  • IS NULL 和 IS NOT NULL 表示的是是否为 NULL , ISNULL 为 true 返回 1 , 否则返回 0 ;IS NOT NULL 同理

  • IN 这个比较操作符判断某个值是否在一个集合中 , 使用方式是 xxx in (value1value2value3)

  • LIKE 运算符的格式是 xxx LIKE %123% , 比如如下

当 like 后面跟的是 123% 的时候 ,xxx 如果是 123 则返回 1 , 如果是 123xxx 也返回 1 , 如果是 12 或者 1 就返回 0。 123 是一个整体 。
  • REGEX 运算符的格式是 s REGEXP str  , 匹配时返回值为 1 , 否则返回 0。

后面会详细介绍 regexp 的用法 。
逻辑运算符逻辑运算符指的就是布尔运算符 , 布尔运算符指返回真和假 。 MySQL 支持四种逻辑运算符
运算符作用NOT 或 !逻辑非AND 或者是 &&逻辑与OR 或者是 ||逻辑或XOR逻辑异或
下面分别来介绍一下
  • NOT 或者是 ! 表示的是逻辑非 , 当操作数为 0(假), 则返回值为 1 , 否则值为 0 。 但是有一点除外 , 那就是 NOT NULL 的返回值为 NULL

  • AND 和 && 表示的是逻辑与的逻辑 , 当所有操作数为非零值并且不为 NULL 时 , 结果为 1 , 但凡是有一个 0 则返回 0 , 操作数中有一个 null 则返回 null

  • OR 和 || 表示的是逻辑或 , 当两个操作数均为非 NULL 值时 , 如有任意一个操作数为非零值 , 则结果为 1 , 否则结果为 0 。

  • XOR 表示逻辑异或 , 当任意一个操作数为 NULL 时 , 返回值为 NULL 。 对于非 NULL 的操作数 , 如果两个的逻辑真假值相异 , 则返回结果 1;否则返回 0 。

位运算符一听说位运算 , 就知道是和二进制有关的运算符了 , 位运算就是将给定的操作数转换为二进制后 , 对各个操作数的每一位都进行指定的逻辑运算 , 得到的二进制结果转换为十进制后就说是位运算的结果 , 下面是所有的位运算 。
运算符作用&位与|位或^位异或~位取反>>位右移<<位左移
下面分别来演示一下这些例子
  • 位与 指的就是按位与 , 把 & 双方转换为二进制再进行 & 操作

按位与是一个数值减小的操作
  • 位或 指的就是按位或 , 把 | 双方转换为二进制再进行 | 操作

位或是一个数值增大的操作
  • 位异或 指的就是对操作数的二进制位做异或操作

  • 取反 指的就是对操作数的二进制位做 NOT 操作 , 这里的操作数只能是一位 , 下面看一个经典的取反例子:对 1 做位取反 , 具体如下所示:

为什么会有这种现象 , 因为在 MySQL 中 , 常量数字默认会以 8 个字节来显示 , 8 个字节就是 64 位 , 常量 1 的二进制表示 63 个 0 , 加 1 个 1  ,位取反后就是 63 个 1 加一个 0  ,转换为二进制后就是 18446744073709551614 , 我们可以使用 「select bin()」 查看一下