1、基本查询操作
# 查询该表名下的所有数据
select * from 表名;
# 查询指定字段下的记录
select 字段名1,字段名2,... from 表名;
2、表达式查询操作
# 表达式查询操作(表达式有加减乘除取余等算数表达式)
select 字段名表达式 from 表名;
# 例如在员工工资表empsal中只有月薪sal,查询年薪记录,则使用下面表达式
select sal*12 from empsal;
3、去重查询操作
# 去重重复记录的查询方式
select distinct 字段名 from 表名;
4、条件查询(条件表达式可以是 等值比较=,大于>,小于<,大于等于>=,小于等于<=,不等于<>)
# 假如筛选条件的查询操作
select * from 表名 where 条件表达式;
# 例如在员工表empsal中查询性别为男性的记录
select * from empsal where sex=‘man’;
# 当时用多个条件表达式的时候
select * from 表名 where 条件表达式1 and(or) 条件表达式2
# 多条件表达式也可以写成下面形式
select * from 表名 where 字段名 in(条件1,条件2,...);
# 在记录为数字的字段名下面进行区间查询
select * from 表名 where 字段名 between 数字 and 数字;
# 空值和非空的查询操作
select * from 表名 where 字段名 is null;
select * from 表名 where 字段名 is not null;
5、函数查询
mysql常用函数:
(1)数学函数
PI() | 返回pi的值 |
FLOOR(x) | 返回小于 x 的最大整数(去掉小数取整) |
CEILING(x) | 返回大于 x 的最小整数(进一取整) |
ROUND(x,y) | 返回参数 x 的四舍五入有 y 位小数的值(四舍五入) |
TRUNCATE(x,y) | 返回数字 x 截短为 y 位小数的结果 |
(2)聚合函数(分组函数)
AVE(col) | 返回指定列的平均值 |
COUNT(col) | 返回指定列中非空值的个数 |
MIN(col) | 返回指定列的最小值 |
MAX(col) | 返回指定列的最大值 |
SUM(col) | 返回指定列的所有值之和 |
(3)字符串函数
CONCAT(s1,s2,..sn) | 将s1,s2,...sn连接成字符串 |
LTRIM(str) | 去掉字符串str开头的空格 |
RTRIM(str) | 去掉字符串尾部的空格 |
TRIM(str) | 去掉字符串首尾的空格 |
INSERT(str,x,y,instr) | 将字符串str从第 x 位置开始,y 个字符长的 字符串替换为字符串 instr |
SUBSTRING(str,x,y) | 截取字符串 x 开始 y 个 |
(4)日期函数
YEAR(date) | 返回date的年份 |
MONTH(date) | 返回date的月份 |
DAY(date) | 返回date的天数部分 |
# 函数查询操作
select 函数(参数) from 表名;
# 添加别名的函数查询操作(若别名中有中文或者关键字需要用‘’)
select 函数(参数)别名‘’ from 表名;
6、分组查询
关键字:group by ,having
注意:不在分组函数中的字段 必须出现在group by后面
# 举例:分组查询平均工资
select avg(sal) from 表名 group by 字段名(按照此字段进行分组);
# 增加条件表达式的分组查询
select avg(sal) avg_sal from 表名 group by 字段名 having avg_sal>5000(条件表达式);
7、子查询
(1)将查询结果作为另一个查询的条件
(2)将查询结果作为另一个查询的数据源