數據操縱語言DML(Data Manipulation Language)
- 插入
- insert into 表名(列名,。。。) values(值,。。。),(值,。。。);
列和數值對應插入,不寫列名值就要和數據表順序對應,順序可改變
不寫的列爲默認值否則爲null(效率低,建議設置默認值)
自增主鍵可不寫
支持子查詢:insert into 表(列名) select 值,。。。 from 表 where 。。。;
- insert into 表名 set 列名=值,。。。
- 修改
- 修改單表記錄
update 表名 1
set 列=值,列=值,。。。 3
where 篩選條件; 2
- 多表級聯修改
語法:
sql92語法:
update 表1 別名,表2別名
set 列=值,。。。
where 連接條件
and 篩選條件;
sql99語法:
update 表1 別名
inner|left|right join 表2 別名
on 連接條件
set 列=值,。。。
where 篩選條件
- 刪除
方式一、delete
- 單表刪除:
delete 表 where篩選條件;
- 多表刪除
sql92語法:
delete 表1的別名,表2的別名
from 表1 別名,表2 別名
where 連接條件
and 篩選條件;
sql99語法:
delete 表1的別名,表2的別名
from 表1 別名
inner|left|right join 表2 別名 on 連接條件
where 篩選條件;
方式二、truncate刪全表
語法: truncate table 表名
- 效率比delete高一點
- truncate 刪除後自增長從1開始,delete還是從斷點開始
- truncate刪除沒有返回值,delete刪除沒有
4、truncate 刪除不能回滾,delete可以回滾