1. 程式人生 > 實用技巧 >MySQL教程85-DELETE 刪除資料

MySQL教程85-DELETE 刪除資料

MySQL中,可以使用 DELETE 語句來刪除表的一行或者多行資料。

刪除單個表中的資料

使用 DELETE 語句從單個表中刪除資料,語法格式為:

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

語法說明如下:

  • <表名>:指定要刪除資料的表名。
  • ORDER BY子句:可選項。表示刪除時,表中各行將按照子句中指定的順序進行刪除。
  • WHERE子句:可選項。表示為刪除操作限定刪除條件,若省略該子句,則代表刪除該表中的所有行。
  • LIMIT子句:可選項。用於告知伺服器在控制命令被返回到客戶端前被刪除行的最大值。
注意:在不使用 WHERE 條件的時候,將刪除所有資料。

刪除表中的全部資料

【例項 1】刪除 tb_courses_new 表中的全部資料,輸入的 SQL 語句和執行結果如下所示。

mysql> DELETE FROM tb_courses_new;
Query OK, 3 rows affected (0.12 sec)
mysql> SELECT * FROM tb_courses_new;
Empty set (0.00 sec)

根據條件刪除表中的資料

【例項 2】在 tb_courses_new 表中,刪除 course_id 為 4 的記錄,輸入的 SQL 語句和執行結果如下所示。

mysql> DELETE FROM tb_courses
    -> WHERE course_id=4;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM tb_courses;
+-----------+-------------+--------------+------------------+
| course_id | course_name | course_grade | course_info      |
+-----------+-------------+--------------+------------------+
| 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | +-----------+-------------+--------------+------------------+ 3 rows in set (0.00 sec)

由執行結果可以看出,course_id 為 4 的記錄已經被刪除。