
第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日常使用)