MySQL中數據操縱語言(DML)主要用於操縱數據庫中表的記錄。本篇用來記錄在數據庫中對操縱語言的使用。
主要有以下關鍵字
insert:用於對錶進行插入記錄
delete:用於刪除表中記錄
updata:用於修改表中記錄
select:用於查看錶中記錄
****************************************************************************************************************
(一)、向表中出入數據
舉例:向stu表中插入多條記錄
也可以插入的時候寫上字段
(二)、刪除表中的記錄
mysql>delete from 表名稱 where ……;
如果delete後邊不跟where語句,則會刪除表中所有內容。
舉例:刪除stu表中sid=002的數據記錄。
(三)、更新記錄
mysql>update 表名稱 set 修改的新數據 where 條件;
舉例:將sid=004的年齡改爲18;
(四)、查詢記錄
(1)、查詢用戶信息
mysql>select user,host from mysql.user;
(2)、查詢不重複的記錄
mysql>select distinct 字段名稱 from 表名稱;
(3)、條件查詢
(i)mysql>select *from 表名稱 where 條件;(條件中可以取= != > < >= <= and or)
舉例:查詢表stu中年齡大於等於20歲的記錄
舉例:查詢表stu中叫"ShangGuan"和25歲的記錄
(ii)匹配查詢
舉例:查詢表stu中名字中含有"in"字符的記錄
查詢表stu中年齡以2開頭的記錄
(iii)查詢和排序、限制結合
排序用order by關鍵字,desc代表降序、asc代表升序。系統默認爲升序。
舉例:將表stu中的sid分別進行降序和升序排序
對於排好序後的記錄,如果希望只顯示一部分不是全部,可以使用limit來實現
(iv)mysql>select …… limit 記錄的起始偏移量(默認爲0) 顯示的行數;
舉例:對sid進行升序後的排序結果顯示前兩行結果
舉例;對sid進行升序後的排序結果從第2行開始顯示,顯示2條記錄。
(v)查詢值
通過函數進行統計,常見的函數有:sum(字段名)、count(字段名)、avg(字段名)、max(字段名)、min(字段名)
舉例:統計年齡出現的次數
或者可以自己定義個新的列名稱
使用sum、avg、min函數統計
(vi)聚合
having:對聚合後的結果進行條件過濾
where:在聚合前對記錄進行過濾
舉例:找出表中年齡的都小於20的人
(vii)表連接
(1)、內連接:僅選出表中互相匹配的記錄
(2)、外連接:其他不匹配的記錄也會選出,分爲左連接和右連接
舉例:通過sid相同左連接stu和score表
舉例:找出數學成績大於90的記錄。select後面跟的是條件中使用的表名稱,如果給表起了別名,則用別名。
(viii)聯合
union all:允許重複
union:不允許重複,將union all 後的結果進行distinct.