把整个Mysql拆分成21天,轻松掌握,搞定(下)
- 2020-05-03 21:04:00
- IDO老徐 原创
- 2478
第17天作业 ,
-- 1)修改表idoxu,把字段istester ,改为istester6(字符类型varchar,长度160 )
-- 2)检查是否修改成功
-- 3)把idoxu表,改名为 idoxu6
-- 4)检查是否修改成功
前一天作业答案参考 ,
造数据 ,把istester表的所有数据,插入到 idoxu表
字段关系
id 取id
stu_id 取id
c_name 取 uname
istester 和 grade字段,给默认值 60
insert into idoxu(id,stu_id,c_name,istester,grade) select id,id,uname,60,60 from istester ;
/
第18天作业 ,
1)创建数据库 istesterdb6
2)检查数据库是否创建成功 ;
3)进入istesterdb6 库
4)在数据库 istesterdb6 ,创建idoxu表,直接拷贝 istester库idoxu6表的数据和结构 ;
5)检查表是否创建成功 ;
前一天作业答案参考 ,
-- 1)修改表idoxu,把字段istester ,改为istester6(字符类型varchar,长度160 )
alter table idoxu CHANGE istester istester6 varchar(160);
-- 2)检查是否修改成功
desc idoxu;
-- 3)把idoxu表,改名为 idoxu6
-- ALTER TABLE 旧表名 RENAME TO 新表名 ;
ALTER TABLE idoxu RENAME TO idoxu681 ;
-- 4)检查是否修改成功
show tables;
/
第19天作业 ,
idoxu表,分数grade
1)排名前三的学生 和分数 ;
2)排名3 - 6名的学生 和分数 ;
3)排名6名以后的所有学生 和分数 ;
前一天作业答案参考 ,
1)创建数据库 istesterdb6
create database istesterdb6 ;
2)检查数据库是否创建成功 ;
show databases ;
3)进入istesterdb6 库
use istesterdb6 ;
4)在数据库 istesterdb6 ,创建idoxu表,直接拷贝 istester库idoxu6表的数据和结构 ;
create table istesterdb6.idoxu as SELECT * from istester.idoxu6;
或
create table idoxu as SELECT * from istester.idoxu6;
5)检查表是否创建成功 ;
show tables;
/
第20天作业 ,
多表(左链接、右链接、内链接)
表 idoxu6 和 表istester
前一天作业答案参考 ,
-- 1)排名前三的学生 和分数 ;
SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 3;
-- 2)排名3 - 6名的学生 和分数 ;
SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 2,4;
-- 3)排名6名以后的所有学生 和分数 ;
SELECT c_name,grade FROM idoxu ORDER BY grade DESC LIMIT 5,666;
注:这题目的是limit的用法,很多同学写的太复杂 ;
limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
/
第21天作业(最后1天,结业) ,
1)把表idoxu6,改完idoxu
2)删除库 istesterdb6
3)删除istester表
4)清空idoxu表的数据
End ,一切恢复如初,坐等SQL第2期 ;
前一天作业答案参考 ,
注:主要目的是熟悉这三种玩法,以及观察结果差异 ;
#左连接
SELECT * from idoxu6 a LEFT JOIN istester b on a.stu_id=b.id;
#内连接
SELECT * from idoxu6 a INNER JOIN istester b on a.stu_id=b.id;
#右连接
SELECT * from idoxu6 a RIGHT JOIN istester b on a.stu_id=b.id;
/
结业,最后一天作业答案参考
1)把表idoxu6,改名为idoxu
rename table idoxu6 to idoxu;
或
alter table idoxu6 rename idoxu;
2)删除库 istesterdb6
drop database istesterdb6;
3)删除istester表
drop table istester;
4)清空idoxu表的数据
truncate table idoxu;
或
delete from idoxu;
End ,恭喜结业 ;
循环3次21天打卡,总共63天(两个月掌握软测必备的SQL日常使用)
1. 所有文章,均为IDO老徐原创(免费学习,欢迎收藏、转发),博客地址 http://istester.com/
2. PC端,右上角,搜索框,输入关键词,可快速检索你需要的所有文章
( 微信扫码 付费 加入 )
目标1W人一起打卡
价值2000以上,原价299
( 新入费用每天递增1元 )
1年内,免费参加老徐发起的所有打卡
365 * 24 随时向老徐无限次提问(任何问题)
想了解更多 ?
欢迎关注老徐的公众号
Tester & 职场人 & 5W人都在关注
软件测试从业者综合能力提升&择业加薪
第一时间,更新至此公众号
长按二维码/微信扫码 关注老徐
老徐私人微信957863300
有问题,随时留言
针对软件测试从业者
自学成才
陪伴你的整个职场生涯成长期
软件测试自学之路
(每天进步一点点、终生学习)
2000人
软件测试QQ群
联系人: | IDO老徐 |
---|---|
Email: | 957863300@qq.com |
QQ: | 957863300 |
微信: | 957863300 |
微博: | isTester |
网址: | isTester.com |
地址: | 中国 . 广东 . 深圳 |