1. 程式人生 > >DML、DDL、DCL delete與truncate

DML、DDL、DCL delete與truncate

DML

資料操縱語言(data manipulation language)
SELECT、UPDATE、INSERT、DELETE

SELECT 列名稱 FROM 表名稱
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
DELETE FROM 表名稱 WHERE 列名稱 = 值

DDL

資料定義語言(data definition language)
CREATE、ALTER、DROP、TRANCATE

CREATE TABLE
表名稱 ( 列名稱1 資料型別, 列名稱2 資料型別, 列名稱3 資料型別, .... ) ALTER TABLE table_name ALTER COLUMN column_name datatype DROP TABLE 表名稱 DROP DATABASE 資料庫名稱

DCL

資料控制語言(data control language)
更改資料庫使用者或角色許可權的語句,grant,deny,revoke

Truncate、Drop、Delete區別

  • truncate和delete刪除表中的資料,保留表結構,drop會刪除表的全部資料,包括表結構,觸發器,索引等
  • delete是DML語言,有事務提交,能回滾,truncate和drop是DDL語言,不能回滾
  • 效率 drop > truncate > delete
  • 不需要表刪除整張表(drop),需要表結構刪除表裡面的所有資料(truncate),刪除表裡面的部分資料(delete)
  • 如果一個表有自增長欄位,使用delete之後再insert會在原來未刪除之前的基礎上累加,使用truncate會從頭開始累加