MySQL运算符使用方法全解析

 更新时间:2025年12月05日 09:54:04   作者:前进的李工  
本文介绍了算数运算符、比较运算符、逻辑运算符和位运算符在MySQL中的使用方法和规则,结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1、算数运算符

算术运算符主要用于数学运算,可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)以及取模(%)运算。

(1)加减运算符

  • 一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;
  • 一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;
  • 加法与减法优先级相同,先进行哪一个的结果都一样;
  • 在MySQL中,如果加号两边出现字符串等非数值类型,先转换为数值,如果不能转为数值,再按照数字0进行运算。

(2)乘除运算符

  • 一个整数除以整数(不为1)后,不管是否可以除尽,结果都是一个浮点数(保留四位);
  • 乘法与除法优先级相同,无论先进行哪一个,结果都一样;
  • 在数学运算中,0不能作为除数,但是在MySQL中,一个数除以0的结果是NULL

(3)取模运算

2、比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较结果为真则返回1,比较结果为假则返回0,其他情况返回NULL。

(1)等于运算符

遵循以下规则:

  • 如果等号两边的值、字符串或表达式都为字符串,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码是否相等。
  • 如果等号两边的值都是整数,则MySQL会按照整数来比较两个值的大小。
  • 如果等号两边的值一个是整数,另一个是字符串,则MySQL会将字符串转化为数字进行比较。如果转换不成功,则将字符串看做0比较。
  • 如果等号两边的值、字符串或表达式中有一个为NULL,则比较结果为NULL。

(2)安全等于运算符

安全等于运算符(<=>)作用和等于运算符相似,唯一区别在于安全等于运算符可以对NULL进行判断。

  • 在两个操作数均为NULL时,其返回值为1,而不为NULL;
  • 当一个操作数为NULL时,其返回值为0,而不为NULL。

(3)不等于运算符

不等于运算符( <> 和 != ),同样不能判断NULL,有一个为NULL ,结果就为NULL。

(4)非符号类型的运算符

① IS NULL(为空)、 IS NOT NULL(不为空)、ISNULL(为空)

② LEAST()最小值、GREATEST(最大值)

③ BETWEEN AND(查询两值之间) 包含查询边界

④ IN (属于)、NOT IN(不属于)

  • between and 体现的是区间内的连续值;in 和 not in是列表中罗列的离散值。

⑤ LIKE (模糊匹配)

⑥ REGEXP、RLIKE(正则表达式)

规则:

  • '^'匹配以该字符后面的字符开头的字符串。
  • '$'匹配以该字符前面的字符结尾的字符串。
  • '.'匹配任何一个单字符
  • "[...]"匹配在方括号内的任何字符(或的关系);"[a-z]"匹配任何字母。
  • '*'匹配零个或多个在它前面的字符;"[0-9]*"匹配任何数量的数字。

3、逻辑运算符

逻辑运算符主要判断表达式的真假,在MySQL中,逻辑运算符的返回结果为1、0或NULL

(1)逻辑非运算符

逻辑非运算符(NOT或!)表示给定值取反,当给定值为NULL时也返回NULL

(2)逻辑与运算符

逻辑与运算符(AND或&&),同真为1,有假为0,其余为NULL

(3)逻辑或运算符

逻辑或运算符(OR 或 ||),有真为真,两个都为NULL则为NULL

(4)逻辑异或运算符

逻辑异或运算符(XOR),有NULL则NULL,不同为1。

4、位运算符

位运算符是在二进制上计算的运算符。会将操作数先变为二进制数,然后进行位运算,最后将计算结果从二进制变回十进制。

(1)按位与运算符

按位与运算(&)将操作数的二进制逐位进行逻辑与运算。

  • 1的二进制 0001,2的二进制0010,3的二进制0011。结果仍以十进制展示

(2)按位或运算符

按位或运算(|)将操作数的二进制逐位进行逻辑或运算。

(3)按位异或运算符

按位异或运算符(^)将操作数的二进制逐位进行逻辑异或运算。

(4)按位取反运算符

按位取反运算符(~)将操作数的二进制逐位进行取反运算。

(5)按位右移运算符

按位右移运算符(>>)将给定的值的二进制数的所有位右移指定的位数。(右边低位的数值被移出并丢弃,左边高位空出的位置用0补齐

(6)按位左移运算符

按位左移运算符(<<)将给定的值的二进制数的所有位左移指定的位数。(左边高位的数值被移出并丢弃,右边低位空出的位置用0补齐

到此这篇关于MySQL运算符使用方法全解析的文章就介绍到这了,更多相关mysql运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql嵌套查询和联表查询优化方法

    mysql嵌套查询和联表查询优化方法

    本文描述了mysql嵌套查询和联表查询优化的方法,有些情况可以使用这种优化方法,而有些情况,这种方法就无能为力了
    2013-02-02
  • FROM_UNIXTIME 格式化MYSQL时间戳函数

    FROM_UNIXTIME 格式化MYSQL时间戳函数

    对MYSQL没有进行过深入的研究,基础知识匮乏,一遇到问题只能手册,看来要把MYSQL的学习安排进时间表了。
    2011-04-04
  • update.where无索引导致MySQL死锁问题解决

    update.where无索引导致MySQL死锁问题解决

    这篇文章主要为大家介绍了update.where无索引导致MySQL死锁问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Mysql数据表中的蠕虫复制使用方法

    Mysql数据表中的蠕虫复制使用方法

    在本文中我们给大家分享了关于怎么使用Mysql数据表中的蠕虫复制的相关知识点,有兴趣的朋友们学习下。
    2019-02-02
  • MySQL 5.7压缩包安装图文教程(超详细)

    MySQL 5.7压缩包安装图文教程(超详细)

    这篇文章主要介绍了MySQL 5.7压缩包安装图文教程(超详细),本文通过图文结合的方式给大家介绍的非常详细,感兴趣的朋友跟着小编一起来学习学习吧
    2024-05-05
  • CentOS 5.5下安装MySQL 5.5全过程分享

    CentOS 5.5下安装MySQL 5.5全过程分享

    网络上有很多相关的安装笔记,但是并不详尽,或是编译环境稍有不同,过程就会有差异,所以我总结了已有的经验和我自己安装过程中的体验,扩充并详尽地记录了整个过程。我选择安装的是MySQL5.5.27版本。以下是我的安装笔记
    2012-09-09
  • Mysql最新版本的数据库安装教程(5.7)

    Mysql最新版本的数据库安装教程(5.7)

    这篇文章主要为大家详细介绍了Mysql最新版本的数据库安装教程,分享了Mysql 5.7安装配置方法,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • MySQL批量导入Excel数据(超详细)

    MySQL批量导入Excel数据(超详细)

    这篇文章主要介绍了MySQL批量导入Excel数据(超详细),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • Win安装MySQL8全过程

    Win安装MySQL8全过程

    这篇文章主要介绍了Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • mysql中的delete,drop和truncate有什么区别

    mysql中的delete,drop和truncate有什么区别

    这篇文章主要介绍了mysql中的delete,drop和truncate有什么区别,三者的用法和使用场景又完全不同,接下来我们来看看具体的区别吧,希望对你的学习有所帮助
    2022-06-06

最新评论