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