把整個Mysql拆分成21天,輕松掌握,搞定(下)
- 2020-05-03 21:04:00
- IDO老徐 原創
- 25834
第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日常使用)
IDO老徐
全网同名,个人IP公衆號
日更10年,每天 1 分钟、解决 1 个问题
職場、副業、輕創業、寫作、個人IP
公衆號、視頻號、小红书、知乎
長按/掃碼,關注IDO老徐
關注回複 401 送你「十年原創资料包」
聯系人: | IDO老徐 |
---|---|
Email: | 957863300@qq.com |
QQ: | 957863300 |
微信: | 957863300 |
微博: | isTester |
網址: | idoxu.com |
地址: | 中国 · 广东 · 深圳 |
來源備注:老徐博客