MySQL 的 TRUNCATE
語句刪除表及其所有記錄,然後將其重新創建為空表。它類似於刪除表中所有行的 DELETE
語句(即不帶 WHERE
子句的 DELETE
語句)。
警告
一旦你TRUNCATE
一個表,你就無法撤消它,所以執行它時要非常小心!
需要注意的幾點:
-
您無法對由外鍵約束引用的InnoDB 表執行
TRUNCATE
。 -
一旦您
TRUNCATE
表,任何AUTO_INCREMENT
值都會重置。
用法
TRUNCATE [TABLE] table_name;
例子
請考慮下表了解學生是否持有駕駛執照:
student_id |
full_name |
年齡 |
has_license |
---|---|---|---|
1 |
天空鎮 |
17 |
0 |
2 |
本·戴維斯 |
19 |
1 |
3 |
特拉維斯·蘋果 |
18 |
0 |
4 |
亞瑟·大衛 |
16 |
0 |
5 |
本傑明鎮 |
17 |
1 |
可以使用此處的代碼創建上述示例表。
要從 drivers_license
表中刪除所有記錄:
TRUNCATE drivers_license;
Query OK, 0 rows affected (0.02 sec)
請注意,無論刪除多少行,返回的響應都會顯示 "0 rows affected”
。
現在檢查 drivers_license
表的內容:
SELECT * FROM drivers_license;
Empty set (0.00 sec)
我們可以看到所有記錄現在都已被刪除。
相關用法
- MySQL TRUNCATE方法用法及代碼示例
- MySQL TRUNCATE()用法及代碼示例
- MySQL TRIM()用法及代碼示例
- MySQL TRIM方法用法及代碼示例
- MySQL TIME_FORMAT方法用法及代碼示例
- MySQL TIMEDIFF方法用法及代碼示例
- MySQL TIME方法用法及代碼示例
- MySQL TO_DAYS方法用法及代碼示例
- MySQL TIMESTAMPDIFF()用法及代碼示例
- MySQL TAN方法用法及代碼示例
- MySQL TIMESTAMP方法用法及代碼示例
- MySQL TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT用法及代碼示例
- MySQL TIME_TO_SEC方法用法及代碼示例
- MySQL TIME用法及代碼示例
- MySQL TAN()用法及代碼示例
- MySQL TO_BASE64方法用法及代碼示例
- MySQL TIMESTAMPDIFF方法用法及代碼示例
- MySQL TIME()用法及代碼示例
- MySQL TIMESTAMPADD方法用法及代碼示例
- MySQL TO_SECONDS方法用法及代碼示例
- MySQL Trim()用法及代碼示例
- MySQL ROUND()用法及代碼示例
- MySQL REPEAT()用法及代碼示例
- MySQL POWER()用法及代碼示例
- MySQL LEAD() and LAG()用法及代碼示例
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | TRUNCATE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。