MySQL笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL笔记 —SQL运算符⽬录
1.算术运算符
2.⽐较运算符
具体关键字
3.逻辑运算符
4.位运算符
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<=>null null=null null!=null
1null null
因此可以得出<=>就是为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的员⼯信息
in与not 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运算符内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

相关文档
最新文档