MySQL数据的查
查询表达式
当前使用中的数据库
select database();
查看当前MySQL版本
select version();
查看当前用户
select user();
查看运算结果
select 1+2;
条件表达式
form 子句
//字段用','隔开,至少有一个字段,最终结果集按照这个顺序显示
select 字段1,字段2... from 表名;
//*代表所有的字段
select *from 表名;
distinct(去重)
//去重后的结果,distinct必须紧接着select后面
select distinct 字段 from 表名;
//统计不重复的个数
select count (distinct 字段) from 表名;
where 子句
where子句适用于对记录的删 、 改、 查的操作
对记录进行过滤,如果没有指定的where子句时,则会显示所有的记录
在where表达式中,可以使用函数或者运算符,运算符包含:
类型 | 运算符 |
---|---|
算术 | + - * / % |
比较 | > < >= <= != = |
逻辑 | or||and&¬! |
提升优先级 | () |
例如:
where 条件关键字
in: 查询一个集合的数据
//查询id是(5,6,9)的数据
select * from students where id=5 || id=6 || id=9;
select * from students where id in(5,6,9);
//一次删除多个数据
delete from students where id=5 || id=6 || id=9;
delete from students where id in(5,6,9);
between xxx and xxx:查询一个区间的数据
//查询id在1-10之间的数据
select * from students where id>1 && id<10;
select * from students where id between 1 and 10;
//删除id在1-10之间的数据
delete from students where id between 1 and 10;
not:排除
link子句
用于模糊查询(符号%;)任意长度,(符号_;)一个字符的长度
//查询name名字以张开头的数据
select * from students where name like '张%'
//查询name名字包含字母三的数据
select * from students where name like '%三%'
//搜索name以华结尾的两位数数据
select * from students where name like '_5';
limit子句
控制查询记录的条数,索引从0开始
select from students limit 2
select * from students limit 3,4 //从索引为3的记录开始,返回4条记录
//php中的分页功能,偏移值的计算,(当前页-1)*每页记录数
select name from student limit 4 offset 3
//还可以使用offset(偏移):从索引为3的记录开始,返回4条
group by(结果分组)
根据给定的数据表的每列的各个成对查询结果进行分组统计,最终得到一个分组的汇总记录表,利用group by分组信息进行统计,常见的是配合max等聚合函数筛选数据化分析。
select指定的字段要么作为分组的依据(Group By语句的后面),要么就要被包含在聚合函数中。
//简单分组查询
select sex from students group by sex;
//聚合函数分组
select count(*),city from students group by city;
oeder by(结果排序)
按照给定的字段进行排序,asc:升序(默认) desc:降序
如果同时选择多个字段,先按第一个字段排序,如果第一个字段值相等,再尝试第二个字段,以此类推
//默认升序
select * from students order by birthday asc(可写可不写);
//降序
select * from students order by birthday desc;
查询语句的书写顺序为:
select-----字段----from----表名----where----group by----order by----limit