模糊查询和正则查询
like用于在where字句中进行模糊查询,sql like 字句中使用%字符来表示任意字符。
select * from 表名 where 字段名 like '模糊配的字符%';
mysql中对正则表达式的支持有限, 支持部分正则元字符
select * from 表名 where 字段名 regexp '正则表达式';
排序
order by 字句来设定想按哪个字段哪种方式来进行排序,再返回搜索结果。
select * from 表名 order by 字段;
#默认升序
select * from 表名 order by 字段 desc;
#降序
分页
limit 字句用于限制由select语句返回的数据数量,或者update,delete语句的操作数量
select * from 表名 where 字段名 limit 数字;
联合查询
union 操作符用于连接两个以上的select语句的结果组合到一个结果集合中,多个select语句删除重复的数据。
select * from 表名 where 字段条件 union select * from 表名 where 字段条件;
多表查询
select 字段1,字段2... from 表1,表2... [where 条件]
聚合函数
函数 | 说明 |
---|
avg(字段名) | 返回平均值 |
count(字段名) | 返回行数 |
max(字段名) | 返回最大值 |
min(字段名) | 返回最小值 |
sum(字段名) | 返回和值 |
MySQL普通查询语句执行顺序
3.select …聚合函数 from 表名
1.where …
2.group by …
4.having …
5.order by …
6.limit …;
分组(group by)
select 聚合函数 from 表名 group by 字段名;
having 语句:
#### having语句通常与group by 联合使用
#### having语句弥补了where关键字不能操作聚合函数生成的列‘字段‘
distinct 语句:
#### 不显示字段的重复值
select distinct 字段名 from 表名;
查询表记录时做数学运算
对字段名做运算操作