前言
Hey,大家好,我是碼農星期八!
上次怎么大概說(shuō)了一下or,!=,in/not in between,like,limit,order by,group by。
但是還沒(méi)完,咱們接著(zhù)往下說(shuō)!
我們的數據是這樣的。

發(fā)現class_id是一個(gè)數字,這是因為我們在設計時(shí),將學(xué)生表和班級表分開(kāi)設計的。

但是如果我們偏偏想要查詢(xún)這個(gè)人是幾班的,怎么辦?
語(yǔ)法
SELECT * from 表1,表2 WHERE 表1.外鍵列=表2.被外鍵列;SELECT 表1.列1,表1.列2,表2.列1,... from 表1,表2 WHERE 表1.外鍵列=表2.被外鍵列;
連表顯示所有列
SELECT * from student,class WHERE student.class_id=class.id;執行結果

喏,這樣就知道哪個(gè)學(xué)生是哪個(gè)班的了!
連表顯示指定列
SELECT student.id,student.`name`,class.title from student,class WHERE student.class_id=class.id;執行結果

通過(guò)where連表固然簡(jiǎn)單,但是缺點(diǎn)明顯。
因為我們的where后面是要跟判斷條件的,使用where進(jìn)行連表會(huì )造成邏輯有些混亂。
在一般連表操作中,使用的也是left進(jìn)行連表。
語(yǔ)法
SELECT * from 表1 LEFT JOIN 表2 on 表1.外鍵字段=表2.被外鍵字段;SELECT 表1.列1,表1.列2,表2.列1,... from 表1 LEFT JOIN 表2 on 表1.外鍵字段=表2.被外鍵字段;
連表顯示所有列
SELECT * from student LEFT JOIN class on student.class_id=class.id;執行結果

選擇指定列查詢(xún)
SELECT student.id,student.`name`,class.title from student LEFT JOIN class on student.class_id=class.id;執行結果

其實(shí)這和where連表是一樣的。
inner和left是差不多的,只不過(guò)left是正向連表,inner是反向連表。
就像學(xué)生表和課程表。
如果是通過(guò)學(xué)生表連課程表,屬于正向,用left。
如果是通過(guò)課程表連學(xué)生表,就屬于反向,用inner。
如果反向連表硬生生用left,會(huì )出現一些空值現象。
inner語(yǔ)法同left,只不過(guò)是表的前后順序不一樣。
上述所有的操作,都屬于查詢(xún)操作,基本上入門(mén)是可以的,下面咱們來(lái)看一下剩下的增,刪,改操作。
語(yǔ)法
INSERT INTO 表(列名1,列名2,...) values(值1,值2,...);添加一條學(xué)生信息
INSERT into student(name,age,gender,class_id) VALUES("吳彥祖",22,"男",1);執行結果

表內容

語(yǔ)法
INSERT INTO 表(列名1,列名2,...) values(值1,值2,...),(值1,值2,...);批量添加學(xué)生信息
INSERT INTO student (NAME, age, gender, class_id)VALUES("范冰冰", 18, "女", 2),("成龍", 24, "男", 3);
執行結果

表內容

語(yǔ)法
UPDATE <表> set 列 = 值 where <條件>;將李四的年齡修改成88歲
UPDATE student set age = 88 where name = "張三"執行結果

語(yǔ)法
delete from <表名>delete from <表名> where <條件>
刪除張三
DELETE from student where name="張三"執行結果

這章有點(diǎn)像收尾部分,補充了連表查詢(xún),后續又補充了Mysql的增刪改查。
連表查詢(xún)要區分一下left和inner的區別,一個(gè)是正向連,一個(gè)是反向連。
插入數據可以插入單條數據和多條數據,多跟參數即可。
如果在操作過(guò)程中有任何問(wèn)題,記得下面留言,我們看到會(huì )第一時(shí)間解決問(wèn)題。
越努力,越幸運。
我是碼農星期八,如果覺(jué)得還不錯,記得動(dòng)手點(diǎn)贊一下哈。
感謝你的觀(guān)看。
看完本文有收獲?請轉發(fā)分享給更多的人
IT共享之家
聯(lián)系客服