MySQL 的DELETE 語句用於刪除表中的現有記錄。
警告
您需要表的 DELETE 權限才能從中刪除記錄。
用法
DELETE FROM table_name
WHERE condition;
例子
請考慮下表了解學生是否持有駕駛執照:
| 
 student_id  | 
 full_name  | 
 年齡  | 
 has_license  | 
|---|---|---|---|
| 
 1  | 
 天空鎮  | 
 17  | 
 0  | 
| 
 2  | 
 本·戴維斯  | 
 19  | 
 1  | 
| 
 3  | 
 特拉維斯·蘋果  | 
 18  | 
 0  | 
| 
 4  | 
 亞瑟·大衛  | 
 16  | 
 0  | 
| 
 5  | 
 本傑明鎮  | 
 17  | 
 1  | 
可以使用此處的代碼創建上述示例表。
刪除單個記錄
刪除 'Ben Davis' 的記錄,因為他現已離開學校:
DELETE FROM drivers_license
WHERE student_id = 2;
Query OK, 1 row affected (0.01 sec)
我們可以看到'Ben Davis'現已從drivers_license表中刪除:
SELECT *
FROM drivers_license;
+------------+---------------+------+-------------+
| student_id | full_name     | age  | has_license |
+------------+---------------+------+-------------+
|          1 | Sky Towner    |   18 |           0 |
|          3 | Travis Apple  |   18 |           0 |
|          4 | Arthur David  |   16 |           0 |
|          5 | Benjamin Town |   17 |           1 |
+------------+---------------+------+-------------+
警告
每當您在表格上執行DELETE 時都要小心。如果我們忘記添加WHERE子句,表中的所有記錄都將被刪除。
DELETE FROM drivers_license;
SELECT *
FROM drivers_license;
Empty set (0.01 sec)
刪除多條記錄
請考慮下表了解學生是否持有駕駛執照:
| 
 student_id  | 
 full_name  | 
 年齡  | 
 has_license  | 
|---|---|---|---|
| 
 1  | 
 天空鎮  | 
 17  | 
 0  | 
| 
 2  | 
 本·戴維斯  | 
 19  | 
 1  | 
| 
 3  | 
 特拉維斯·蘋果  | 
 18  | 
 0  | 
| 
 4  | 
 亞瑟·大衛  | 
 16  | 
 0  | 
| 
 5  | 
 本傑明鎮  | 
 17  | 
 1  | 
要刪除 student_id 1 、 2 或 3 學生的記錄:
DELETE FROM drivers_license
WHERE student_id IN (1, 2, 3);
SELECT *
FROM drivers_license;
+------------+---------------+------+-------------+
| student_id | full_name     | age  | has_license |
+------------+---------------+------+-------------+
|          4 | Arthur David  |   16 |           0 |
|          5 | Benjamin Town |   17 |           1 |
+------------+---------------+------+-------------+
注意
在使用 DELETE 語句之前,請使用相同的條件執行 SELECT 語句,以查看到底要刪除什麽。此外,每當您對數據執行任何大型操作時,請務必先對其進行備份!
相關用法
- MySQL DES_ENCRYPT()用法及代碼示例
 - MySQL DEGREES方法用法及代碼示例
 - MySQL DES_DECRYPT()用法及代碼示例
 - MySQL DECODE( )用法及代碼示例
 - MySQL DEFAULT()用法及代碼示例
 - MySQL DECIMAL and NUMERIC用法及代碼示例
 - MySQL DEGREES()用法及代碼示例
 - MySQL DATE_FORMAT方法用法及代碼示例
 - MySQL DATEDIFF方法用法及代碼示例
 - MySQL DAYOFMONTH()用法及代碼示例
 - MySQL DAY方法用法及代碼示例
 - MySQL DAYOFYEAR()用法及代碼示例
 - MySQL DATE_ADD()用法及代碼示例
 - MySQL DATE方法用法及代碼示例
 - MySQL DAYNAME方法用法及代碼示例
 - MySQL DATEDIFF()用法及代碼示例
 - MySQL DAYOFMONTH方法用法及代碼示例
 - MySQL DAYNAME()用法及代碼示例
 - MySQL DAYOFWEEK方法用法及代碼示例
 - MySQL DAY()用法及代碼示例
 - MySQL DATE()用法及代碼示例
 - MySQL DAYOFYEAR方法用法及代碼示例
 - MySQL DATE_SUB()用法及代碼示例
 - MySQL DAYOFWEEK()用法及代碼示例
 - MySQL DIV用法及代碼示例
 
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | DELETE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
