1.# 表示限制取数据的条数
select name from user where name=\"zhazha\" limit 1
# 表示从第2行开始,最多一条
select name from user where name=\"zhazha\" limit 2,1
2.# 首先是按照name排序,然后按照id进行排序,默认是升序
select * from user order by name,id
# 首先是按照name排序,然后按照id进行排序,如果是按照降序就使用DESC
#但是这个DESC主要是作用于id,并不能作用于name。如果是针对于所欲的字段,那么只能每个后面都添加DESC。
select * from user order by name,id DESC
3.#使用between确定查找范围
select * from user where id between 1 and 4
#空值检查
select id,name from user where name is null
4.and 和or操作符 优先计算and ,因此这里获取的是id=0并且name=\"zhazha\",或者是id=1的数据
select * from user where id=1 or id=0 and name=\"zhazha\"
5.#使用in相当于or,表示是id=0或者id=2
select * from user where id in(0,2)
6.#使用not,表示是除了id=0或者id=2
select * from user where id not in(0,2)
7.使用like和通配符
%表示任何字符,出现任何次数
select * from user where name like \"zha%\"
_表示只能匹配一个字符
select * from user where name like \"_ichael\"
8.使用REGEXP,这表明后面的是正则表达式
.表明的是一个字符
select * from user where name regexp \".ichael\"
使用like和regexp的区别,like如果不实用通配符,那么就只能精确的匹配
regexp,是进行和列值内容匹配,比如:
name为\"Michael\"
name like \"chael\" 就不能查到数据
但是 name regexp \"chael\" 就能查到数据
9.#使用regexp正则,使用|表示或
select * from user where name regexp \"zha|chael\"
#或是使用[],可惜里面只能匹配单个字符
select * from user where name regexp \"[zM]ha\"
使用^表示的非
select * from user where name regexp \"[^zM]ha\"
可有用在[]中添加-表示的一个取值范围
select * from user where name regexp \"[a - z]ha\"
10.对于特殊字符使用\\\\进行转义
*0个或多个匹配
+一个或多个匹配
?0个或1个匹配
{n}指定数目的匹配
{n,}不少于指定数据匹配
{n,m}匹配数目的范围,m不超过255
select * from user where name regexp \"\\\\([0-9] sticks?\\\\)\"
能够匹配TNT (1 stick) 或者TNT (3 sticks)
11.在regexp中使用^表示以什么开始,$表示以什么结尾。
继续阅读与本文标签相同的文章
spring旅程:spring之Bean
-
8 分钟了解 Kubernetes
2026-05-18栏目: 教程
-
Helm 从入门到实践 | 从 0 开始制作一个 Helm Charts
2026-05-18栏目: 教程
-
阿里云突发性能实例t5 和共享型实例xn4 n4的区别
2026-05-18栏目: 教程
-
【DockerCon2017技术解读】Docker特性介绍
2026-05-18栏目: 教程
-
面向海量数据的极致成本优化-云HBase的一体化冷热分离
2026-05-18栏目: 教程
