20180314 mysql
2018-03-16 15:37 王那天 阅读(82) 评论(0) 编辑 收藏 举报学习内容:
表查询语句:
select 字段名 from 表名; //查询指定列
select 字段名 as 自定义字段名 from 表名; //查询时修改显示的列名 注意并未改变表结构
select (字段名+字段名) as 自定义字段名 from 表名; //查询时合并列,加法运算,只能合并数值
select distinct 字段名 from 表名; //查询时去重
条件查询:
select 字段名 from 表名 where 字段名=值 and 字段名=值; //与运算查询
select 字段名 from 表名 where 字段名=值 or 字段名=值; //或运算查询
select 字段名 from 表名 where 字段名> < >= <= !=; //大于 小于 大于等于 小于等于 不等于查询
select 字段名 from 表名 where 字段名 between 值 and 值; //相当于 >= and <=查询
insert into 表名 values(); //空
insert into 表名 values(''); //空字符串
select 字段名 from 表名 where 字段名 is null; //判断是否为空
select 字段名 from 表名 where 字段名=''; //判断是否为空字符串
select 字段名 from 表名 where 字段名 like '字符%'; //查询指定字符开头的数据
select 字段名 from 表名 where 字段名 like '%字符%'; //查询是否含有指定字符
select 字段名 from 表名 where 字段名 like '字符_'; //查询是否以指定字符开头并且只有两个字符
PS 取反可用 not like
聚合查询:
select sum(字段名) as 自定义字段名 from 表名; //求总和并自定义显示名
select avg(字段名) as 自定义字段名 from 表名; //求平均数
select min(字段名) as 自定义字段名 from 表名; //求最小数
select max(字段名) as 自定义字段名 from 表名; //求最大数
select count(字段名) as 自定义字段名 from 表名; //计数 指定列的数据数量的最大值
select count(*) as 自定义字段名 from 表名; //表内所有列数据数量的最大值
select sum(字段名) as 自定义字段名 from 表名 where 字段名=(select sum(字段名) as 自定义字段名 from 表名) ; // 子查询
PS year(字段名)可以查询那一年,例如知道生日求年龄,则可以使用 year(now())-year(定义的生日字段)
分页查询:
第一行起始值为0
select * from 表名 limit (当前页-1)*每页显示多少条,每页显示多少条;
例:
SELECT * FROM stu LIMIT 0,2;
SELECT * FROM stu LIMIT 2,2;
SELECT * FROM stu LIMIT 4,2;
SELECT * FROM stu LIMIT 6,2;
SELECT * FROM stu LIMIT 8,2;
SELECT * FROM stu LIMIT 10,2;
查询排序:
select * from 表名 order by 字段名 asc; //正序排序
select * from 表名 order by 字段名 desc; //反序排序
select * from 表名 order by 字段名 asc,字段名 desc; //多顺序排序 第一条件排序有重复时按照第二条件排序 默认的第二顺序是数据插入顺序
分组查询:
先分组再统计
group by 字段名 //分组
count(字段名) //统计
select 字段名,count(字段名) from 表名 group by 字段名;
分组查询后筛选
分组后用having 替代where来添加筛选条件
select 字段名,count(字段名) from 表名 where 判断条件 group by 字段名 having 判断条件;
select 字段名,count(字段名) from 表名 group by 字段名 having 判断条件;