MySQL笔记 —SQL运算符

 更新时间:2022年01月14日 09:08:19   作者:一点点开始   
这篇文章主要介绍了SQL运算符,在sql语言中常用的运算符有这几种:算术运算符、赋值运算符、比较运算符、逻辑运算符,下面面基于记住运算符资料展开文章内容,需要的小伙伴可以参考一下

1.算术运算符

+-*/或DIV%或MOD

  /或DIV

select 100/5,100 DIV 5 from dual;

结果:

100/5100 DIV 5
20.000020

注意:/结果是浮点型有结果20.0000,但是DIV结果是20

取模运算%MOD

select 10 % 2,10 % 3,12 MOD -4 from dual;

结果:

10 % 210 % 312 MOD -4
010

2.比较运算符

<>=<=><>或!=<=>=
小于大于等于安全等于不等于小于等于大于等于

<=>第一次学到比较特殊

select null <=> null,null = null,null != null from dual;

结果:

null<=>nullnull=nullnull!=null
1nullnull

因此可以得出<=>就是为NULL而生,其余只要运算中有null结果为null

具体关键字

IS NULL 等于<=>NULL 运算及结果一样

ISNULL IS NULL也一样,但用法有点不一样

select salary from empty where salary is null;
select salary from empty where isnull(salary);
select salary from empty where salary <=> null;

大家在运用过程中最好最好用is null is not null

LEAST()min(),CREATEST()max() 一样,还是建议用min与max

BETWEEN  条件1 AND 条件2  (查询条件1到条件2范围数据,包含边界。条件1是下限,条件2是上限)

select * from emp
where salary between 3000 and 5000;

在emp表查询工资在3000到5000的员工信息

innot in

course表查询选修了(name)数据库,线性代数,概率论的同学信息

select * 
from course
where name in('数据库','线性代数','概率论');
#where name='数据库' or name='线性代数' or name='概率论';

很明显in对多个数据选择更加方便了,如果查不在里面的用not in()即可

like模糊查询 

stu表查询了(name)性刘的同学信息

select *
from stu
where name like'刘%';

在stu表查询了(name)名字包含为刘的同学信息

select *
from stu
where name like'%刘%';

stu表查询了(name)名字包含刘也包含壮的同学信息

select *
from stu
where name like'%刘%' and name like'%壮%';

在stu表查询了(name)名字第二个字为刘的同学信息

select *
from stu
where name like'_刘%';

u表查询了(name)名字第二个为_且第三个字为刘的同学信息(需要使用转移字符\)

select *
from stu
where name like'_\_刘%';

不使用转移字符需要表中用escape(&不是必须的可以用任意字符)

select *
from stu
where name like'_&_刘%' escape '&';

正则表达式:(了解)

REGEXP运算符用来匹配字符串,语法格式为:expr REGEXP 匹配条件。如果expr满足匹配条件,返回1;如果不满足,则返回0。若expr或匹配条件任意一个为NULL,则结果为NULL。

REGEXP运算符在进行匹配时,常用的有下面几种通配符:

  • (1)‘^’匹配以该字符后面的字符开头的字符串。
  • (2)‘$’匹配以该字符前面的字符结尾的字符串。
  • (3)‘.’匹配任何一个单字符。
  • (4)“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使用一个‘-’。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。(3.4自我理解跟like差不多)
  • (5)‘*’匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。

3.逻辑运算符

NOT或!AND或&&OR或||XOR
逻辑非逻辑与逻辑或逻辑异或

注意:

OR可以和AND一起使用,但是在使用时要注意两者的优先级,由于AND的优先级高于OR,因此先对AND两边的操作数进行操作,再与OR中的操作数结合。

主要XOR有点陌生,有且只能取一方。

4.位运算符

&|^~>><<
换位与(位AND)换位或(位OR)换位异或(位XOR)按位取反按位右移按位左移

了解即可。

到此这篇关于MySQL笔记 —SQL运算符的文章就介绍到这了,更多相关 SQL运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL数据库的约束使用实例

    MySQL数据库的约束使用实例

    约束是用来限制表中的数据长什么样子的,即什么样的数据可以插入到表中,什么样的数据插入不到表中,下面这篇文章主要给大家介绍了关于如何通过一文理解MySQL数据库的约束与表的设计的相关资料,需要的朋友可以参考下
    2022-12-12
  • MySQL学习之SQL语法及SQL解析顺序

    MySQL学习之SQL语法及SQL解析顺序

    这篇文章主要介绍了SQL语法及SQL解析顺序,SQL(Structured Query Language)是一种标准,作为一种访问关系型数据库的标准语言,感兴趣的小伙伴可以借鉴阅读
    2023-03-03
  • 关于MySQL报警的一次分析处理详解

    关于MySQL报警的一次分析处理详解

    这篇文章主要给大家介绍了关于MySQL报警的一次分析处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux中 MySQL 授权远程连接的方法步骤

    Linux中 MySQL 授权远程连接的方法步骤

    如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和 具体用户 进行 授权,本篇文章主要介绍了Linux中 MySQL 授权远程连接的方法步骤,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • mysql-5.7.42升级到mysql-8.2.0(二进制方式)

    mysql-5.7.42升级到mysql-8.2.0(二进制方式)

    随着数据量的增长和业务需求的变更,我们可能需要升级MySQL,本文主要介绍了mysql-5.7.42升级到mysql-8.2.0(二进制方式),具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • MySQL SQL优化教程之in和range查询

    MySQL SQL优化教程之in和range查询

    这篇文章主要给大家介绍了关于MySQL SQL优化教程之in和range查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 关于MySQL onlinedb数据库的一些查询语句大全

    关于MySQL onlinedb数据库的一些查询语句大全

    这篇文章主要给大家介绍了关于MySQL onlinedb数据库的一些查询语句,文中通过代码实例介绍的非常详细,对大家学习或者使用MySQL具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • MySQL数据类型enum 枚举类型

    MySQL数据类型enum 枚举类型

    这篇文章主要介绍了MySQL数据类型enum 枚举类型,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-06-06
  • 非常实用的MySQL函数全面总结详解示例分析教程

    非常实用的MySQL函数全面总结详解示例分析教程

    这篇文章主要为大家介绍了非常实用的MySQL函数的详解示例分析,文中全面的概括了MySQL函数,并进行了详细的示例讲解,有需要的朋友可以借鉴参考下
    2021-10-10
  • DBeaver连接本地MySQL并创建数据库/表的基础操作教程

    DBeaver连接本地MySQL并创建数据库/表的基础操作教程

    DBeaver是一款功能强大的数据库管理工具,支持创建多种数据库,包括达梦数据库,这篇文章主要给大家介绍了关于DBeaver连接本地MySQL并创建数据库/表的基础操作教程,需要的朋友可以参考下
    2024-02-02

最新评论