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