查找
1.查找zhao这个人,告诉我他的分数
select scroe from aa where name='zhao';
2.查找wang这个人,告诉我他的年纪和分数
select age,scroe from aa where name='wang';
3.not in(排除指定内容外的信息)——不显示年纪是20,21的所有信息
select * from aa where age not in(20,21);
4.between(查询范围内的数据)--查询年纪在19-23范围内的信息--使用 and
select * from aa where age beteen 19 and 23;
5.is null 查找分数为空的所有信息
select * from aa where scroe is null;
6.is not null 查找分数不为空的所有信息
select * from aa where scroe is not null;
7、like 模糊匹配开头,结尾,中间
select * from stu where name like'zh%'; 开头
select * from stu where name like'%ao'; 结尾
select * from stu where name like'%a%'; 中间
8、截取某行或者某行到某行limit
limit 1,2 (从第2行开始,显示2行(包括自己))
limit 5,6 (从第6行开始,显示6行,5+6=11,也就是,显示第6-11行)
select*from stu limit 5,6;
9、排序
从大到小:降序 order by desc
select * from stu order by scroe desc;降序 大到小
从小到大:升序 order by asc
select * from stu order by scroe asc;升序 小到大
注意:order by 前面不能直接接where 条件表达式
where order by scroe asc;错误不能这样接
where name='zhangsan' order by scroe asd;这样可以接
10、分组(去重)
根据姓名分组: select * from stu group by name;
班级:班级表(sdt)
1833 :10个人 12345678910
1832 :5个人 12345
1831 :4个人 1234
select * from sdt;查询所有
单纯总统计:19
统计一下每个班总人数是多少?
班级 总数
1833 10
1832 5
1831 4
select class ,count(class)as zs from sdt group by class;
having相当于where条件,where是不能直接使用聚合函数,having可以
如果某些情况用where无法使用,可以尝试使用having
一般having是结合group by 使用且是放在group by后面
数据库常问的面试题:
如果去重?
答:distinct去重 group by 去重
11、备份表结构 like
create table stu1 like stu;
把stu表结构备份一份,且新创建一个新的表stu1——只备份结构不备份数据
12、备份表的数据
insert into stu1 select * from stu;把stu表的所有数据进行备份到stu1中
insert into stu1(name,age)select name,age from stu;把stu表中的某几个字段备份到stu1中
13、备份数据库 >
mysqldump -uroot -p123456 dcs68>dcs68.sql
把root用户中对应的dcs68这个数据库备份一份,名称是dcs68.sql
此命令操作是在:liunx交互界面完成
14、还原数据库 <
mysql -uroot -p123456 xiaoqian<dcs68.sql 把dcs68.sql这个文件中的所有表还原到xiaoqian这个数据库中
15、MySQL中常用的聚合函数(重点)
1、统计 count(*)
select count(*)from stu; #统计表中总行数
select count(*)a from stu;取别名
select count(*)as a from stu;取别名
2、求最大 max
select max(score)from stu;求分数最大的
注意:分数最大的值肯定是OK,但是如果你取其它值,非第一行,其它都是错误的。
3、求最小 min
select min(score)from stu;求分数最小的
注意:分数最小的值肯定是OK,但是如果你取其它值,非第一行,其它都是错误的。
4、求和 sum
select sum(score) from stu;求分数之和
5、求平均 avg
select avg(scroe)from stu;求分数平均值