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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
