简单查询
格式 | 作用 |
---|
select 字段名1,字段名2 from 表名; | 查询指定字段 |
select * from 表名; | 查询所有字段 |
按条件查询
格式 | 作用 |
---|
select * from 表名 where 条件表达式; | 根据关系运算符得到的条件表达式查询 |
select * from 表名 where 字段名 [not] in (元素1,元素2); | 查询某个字段的值是否在集合中 |
select * from 表名 where 字段名 [not] between 值1 and 值2; | 查询某个字段的值是否在指定范围里 |
select * from 表名 where 字段名 is [not] null; | 查询某个字段的值是否是空值 |
select distinct 字段名 from 表 | 去重查询 |
select * from 表名 where 字段名 like 匹配字符串 | 模糊查询,%表示匹配任意长的字符串,_表示匹配单个字符 |
高级查询
注意:单独使用group by,查询的是每组的第一个记录
注意:group by 和聚合函数使用
注意:若offset的取值为0,从第一个开始
注意:记录数是包含offset的值
格式 | 作用 |
---|
select count(*) from 表名; | 统计记录的条数 |
select sum(*) from 表名; | 求出某字段的和 |
select avg(*) from 表名; | 求出某字段的平均值 |
select max(*) from 表名; | 求出某字段的最大值 |
select min(*) from 表名; | 求出某列的最小值 |
select * from 表名 order by 字段名1[asc/desc],字段名2[asc/desc]; | 对结果进行排序 |
select * from 表名 group by 字段名1,字段名2 [having 条件表达式]; | 对记录分组,可通过having对查询设置条件 |
select * from 表名 limit [offset], 记录数; | offset表示从第几条记录开始, 记录数表示返回查询的记录数量 |
函数名称 | 作用 |
---|
abs(x) | 返回x的绝对值 |
sqrt(x) | 返回x的二次方根 |
mod(x,y) | 返回x-y的结果 |
ceiling(x) | 返回大于x的最小整数 |
floor(x) | 返回小于x的最大整数 |
round(x,y) | 对x进行四舍五入,小数点保留y位 |
truncate(x) | 返回舍去x中小数点y位后面的数 |
sign(x) | 返回x的符号 |
函数名称 | 作用 |
---|
length(str) | 返回str的长度 |
concat(s1, s2,…) | 返回由多个字符串组成一个字符串 |
replace(str, s1, s2) | 返回使用s2替换s1的str |
substring(str,n,len) | 截取字符,起始长度为n,终止长度为len |
reverse(str) | 返回反转后的str |
函数名称 | 作用 |
---|
curdate() | 返回系统当前日期 |
curtime() | 返回返回系统当前时间 |
sysdate() | 返回当前系统的日期和时间 |
adddate() | 将日期相加 |
sbudate() | 将日期相减 |
date_format() | 返回格式化日期和时间 |
函数名称 | 作用 |
---|
if(expr,v1,v2) | 如果expr表达式为true,返回v1,否则返回v2 |
ifnull(v1,v2) | 如果v1是null,返回v1,否则返回v2 |
函数名称 | 作用 |
---|
md5(str) | 对字符串str进行md5加密 |
encode(str,pwd) | 使用pwd加密 |
decode(str,pwd) | 使用pwd解密 |
为表和字段取别名
格式 | 作用 |
---|
select * from 表名 as 别名 | 为表取别名,方便后续使用 |
select 字段 as 别名 from 表名 | 为字段取别名,让显示的时候更加直观 |