11月21笔记 讲数据库 1、查找zhao这个人,告诉我他考试的分数 命令:select scroe from stu where name='zhao'; 2、查找wang这个人,告诉我他年纪和分数; 命令:select age,scroe from stu where name='wang'; 3、not in(不在里面的其它信息) 不显示年纪是20,21岁的所有信息; 命令:select * from stu where age not in(20,21); 4、between 查询范围内的数据 查询年纪19-23范围内的所有信息 命令:select * from stu where age between 19 and 23; 5、查找分数为空的所有信息is null 命令:select * from stu where scroe is null; 6、查找分数不为空的所有信息is not null 命令:select * from stu 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 查找表中的数据:6-10的数据 6-1=5 5+?=10 5 命令:select * from student limit 5,5; 查找表中的数据:8-25的数据 8-1=7 7+?=25 18 命令:select * from student limit 7,18; 查找表中的数据:第7行的数据 7-1=6 6+?=7 命令:select * from student limit 6,1; 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) select * from sdt;查询所有 select * from std 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;求分数平均值
|