DML(Data Manipulation Language)語句:資料操縱語句。
用途:用于添加、修改、删除和查詢資料庫記錄,并檢查資料完整性。
常用關鍵字:insert、update、delete、select等。
DML 操作的對象是庫表的資料(記錄)。
主要包括插入(insert)、更新(update)、删除(delete)和查詢(select)。
DML 語句是開發人員使用最頻繁的操作。
插入一條記錄
一次性插入多條資料
更新單表資料
同時更新多個表的資料
通常用于根據一個表的字段來動态地更新另外一個表的字段
在此說明:中括号 “[ ]” 代表的是可選參數,即可有可無的參數。
簡單的條件查詢。符号“*”代表查詢所有字段,如果隻想看其中某些列,則寫表的列名。
别名
給列名或表名取别名的關鍵字:AS 或者不寫關鍵字。如:
不取别名,則查詢結果的列名為表原本的列名;
取别名,則查詢結果的列名為别名

删除單表記錄
同時删除多個表的資料
說明:不加where 條件則删除全表資料
單表“增改查删”操作案例:
多表“删除”操作案例:
再看個删除案例
最後再看個删除案例
多表删除結論:
條件成立,則删除有條件表的對應資料,沒條件的則全表删除;
條件不成立,則都不删除。
留個疑問:多表删除不給where 條件會怎樣呢?
關于同時更新多個表資料的操作,可以自行探索,畢竟有思考的學習最有價值。
DQL(Data Query Language)即資料庫查詢語言。
資料庫查詢語句就像玩積木一樣,一塊一塊的拼湊,每個中括号“[]”代表一塊積木。
先通過遞進的方式一條一條列出查詢文法。
distinct 關鍵字是對 “查詢結果集” 去重,再看個例子就明白了。
常用的條件(condition)
其它常用條件具體怎麼用,參考常用條件去操作。
說明:
where 是分組前的條件過濾;having 是分組後的條件過濾。
where 是用原表列名做條件過濾;having 是用查詢結果集列名做條件過濾。
優先選擇where 條件過濾,這樣可以減少結果集,進而提高分類聚合的效率。
中括号"[]"代表可選的意思,也就是說group by 前面的[where condition] 可有可無,後面的[with rollup] 和 [having condition] 也是可有可無。
單列排序:
多列排序:用符号 “,” 隔開即可
又稱為限制查詢、範圍查詢、分頁查詢
例子1:從第1條開始,查詢兩條資料
例子2:從第2條開始,查詢兩條資料
=========================
= 以上就是關于單表查詢的文法 =
= 以下則是關于兩表聯查的文法 =
在需要關聯多個表資料時使用。 學習左連接配接和内連接配接即可。
左連接配接:選出左表所有的記錄,不管右表有沒有和它比對;左表是主,關聯右表資訊
内連接配接:僅選出兩張表中互相比對的記錄,沒有比對則結果為空
在需要另外一個查詢結果作為查詢條件時使用。子查詢用“()” 括起來。
如:查詢學生“張三”的成績
某些情況下,子查詢可以轉化為連表查詢。如上面的例子可以寫成連表查詢:
将兩個過多個表的查詢結果合并成結果集輸出。合并的條件是多個表的查詢結果字段數要相同,注意是查詢結果字段數不是表字段數。
查詢結果字段數不等,則報錯
固定查詢結果集字段數
自行證明該執行順序是否正确,也算是對前面所學知識的一個鞏固。
到此為止,關于日常操作最為頻繁的表資料的插入(insert)、更新(update)、删除(delete)和查詢(select)語句就講完了。最為繁雜的查詢語句,又名為DQL語句,是DML語句中的重點。
關注公衆号學習更多有關資料庫的知識和擷取資料庫免費電子書。