mysql1

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中使用^表示以什么开始,$表示以什么结尾。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值