技術(shù)文章:Mysql查詢語句之連表查詢和增刪改查語句補(bǔ)充
陳侯立身何坦蕩,虬須虎眉仍大顙。
前言
Hey,大家好,我是碼農(nóng)星期八!
上次怎么大概說了一下or,!=,in/not in between,like,limit,order by,group by。
但是還沒完,咱們接著往下說!
查詢
我們的數(shù)據(jù)是這樣的。
發(fā)現(xiàn)class_id是一個數(shù)字,這是因為我們在設(shè)計時,將學(xué)生表和班級表分開設(shè)計的。
但是如果我們偏偏想要查詢這個人是幾班的,怎么辦?
連表查詢方式一,where連表
語法
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;
執(zhí)行結(jié)果
喏,這樣就知道哪個學(xué)生是哪個班的了!
連表顯示指定列
SELECT student.id,student.`name`,class.title from student,class WHERE student.class_id=class.id;
執(zhí)行結(jié)果
方式二,left連表
通過where連表固然簡單,但是缺點明顯。
因為我們的where后面是要跟判斷條件的,使用where進(jìn)行連表會造成邏輯有些混亂。
在一般連表操作中,使用的也是left進(jìn)行連表。
語法
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;
執(zhí)行結(jié)果
選擇指定列查詢
SELECT student.id,student.`name`,class.title from student LEFT JOIN class on student.class_id=class.id;
執(zhí)行結(jié)果
其實這和where連表是一樣的。
方式三,inner連表
inner和left是差不多的,只不過left是正向連表,inner是反向連表。
就像學(xué)生表和課程表。
如果是通過學(xué)生表連課程表,屬于正向,用left。
如果是通過課程表連學(xué)生表,就屬于反向,用inner。
如果反向連表硬生生用left,會出現(xiàn)一些空值現(xiàn)象。
inner語法同left,只不過是表的前后順序不一樣。
其他操作
上述所有的操作,都屬于查詢操作,基本上入門是可以的,下面咱們來看一下剩下的增,刪,改操作。
增(insert)單條插入
語法
INSERT INTO 表(列名1,列名2,...) values(值1,值2,...);
添加一條學(xué)生信息
INSERT into student(name,age,gender,class_id) VALUES("吳彥祖",22,"男",1);
執(zhí)行結(jié)果
表內(nèi)容
多條插入
語法
INSERT INTO 表(列名1,列名2,...) values(值1,值2,...),(值1,值2,...);
批量添加學(xué)生信息
INSERT INTO student (NAME, age, gender, class_id)VALUES ("范冰冰", 18, "女", 2), ("成龍", 24, "男", 3);
執(zhí)行結(jié)果
表內(nèi)容
改(update)
語法
UPDATE <表> set 列 = 值 where <條件>;
將李四的年齡修改成88歲
UPDATE student set age = 88 where name = "張三"
執(zhí)行結(jié)果
刪除(delete)
語法
delete from <表名>delete from <表名> where <條件>
刪除張三
DELETE from student where name="張三"
執(zhí)行結(jié)果
總結(jié)
這章有點像收尾部分,補(bǔ)充了連表查詢,后續(xù)又補(bǔ)充了Mysql的增刪改查。
連表查詢要區(qū)分一下left和inner的區(qū)別,一個是正向連,一個是反向連。
插入數(shù)據(jù)可以插入單條數(shù)據(jù)和多條數(shù)據(jù),多跟參數(shù)即可。
如果在操作過程中有任何問題,記得下面留言,我們看到會第一時間解決問題。
越努力,越幸運(yùn)。
我是碼農(nóng)星期八,如果覺得還不錯,記得動手點贊一下哈。
感謝你的觀看。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月31日立即下載>> 【限時免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市