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)将查询结果作为另一个查询的数据源