DML語言的學習
數據操作語言(DML):
- 插入:insert into
- 修改:update…set
- 刪除:delete from
一、插入語句
1.插入方式一(常用。支持插入多行、支持子查詢):
語法:insert into 表名(列名 , …) values(值,…);
insert into 表名[(字段名,字段名,字段名...)] [value|values] (字段值,字段值,字段值...);//名-值要一一對應
要求:
-
插入的值的類型要與列的類型一致或兼容
-
不可以爲null的列必須插入值,可以爲null的列如何插入值?(要麼列名和值都省略,要麼列名寫着,值填爲null)
-
列的順序可以亂序寫,但列名和值要一一對應
-
列數和值的個數必須一致
-
可以省略列名,默認所有列,而且列的順序和表中列的順序一致(表中有多少字段,就需要放多少字段值)
-
被設置爲主鍵的字段的值在一張表裏是不可重複的!
-
values和value沒有太大區別,就是爲了區分批量插入的(一次插入多行)
支持子查詢,例如插入多行數據
insert into tb_employees
select 1,'a','a','a',985 union
select 2,'b','b','b',211 union
...
2.插入方式二:
語法:insert into 表名 set 列名=值,列名=值,…
二、修改語句
語法:update 表名 set 列=新值,列=新值,… where 篩選條件;
update 表名 set 字段 = 值 where 條件;
update tb_use set name = 'hahah',pwd = '12345' where id = 2;
三、刪除語句
方式一:delete
語法:delete from 表名 where 篩選條件
delete from tb_user where id = 1;
delete from tb_user; #清空表
方式二:truncate(清空表)
語法:truncate table 表名
truncate table tb_employee;
對比:
-
delete可以加where條件,truncate不可以
-
假如要刪除的表中有自增長列,用delete刪除數據後,再插入數據,自增長列的值從斷點開始。而用truncate刪除後,再插入數據,自增長列的值從1開始。
-
delete刪除有返回值,truncate刪除沒有返回值
-
truncate刪除不能回滾,delete刪除可以回滾
爲啥DML內容這麼少🤔。沒錯,sql語言的重點就在於一句話查詢語句,所以主要重點是查詢。