SQL 刪除數(shù)據(jù)(DELETE 語句)

在本教程中,您將學(xué)習(xí)如何使用SQL從數(shù)據(jù)庫表中刪除記錄。

從表中刪除數(shù)據(jù)

就像使用INSERT語句將記錄插入表中一樣,您也可以使用語句從表中刪除記錄DELETE。

語法

DELETE語句用于從表中刪除一個(gè)或多個(gè)行。

DELETE FROM table_name WHERE condition;

警告:DELETE語句中的WHERE子句指定應(yīng)刪除的記錄。 但是,它是可選的,但是如果您省略或忘記了WHERE子句,則所有記錄將從表中永久刪除。

讓我們從在創(chuàng)建表一章中創(chuàng)建persons表中刪除一些記錄。

假設(shè)我們的人員(persons表當(dāng)前具有以下記錄:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
|  4 | George Bailey      | 1993-03-05 | 0897-034214 |
|  5 | Norman Bates       | 1999-08-25 | 0522-556721 |
+----+--------------------+------------+-------------+

根據(jù)條件刪除記錄

以下語句將從id大于3的人員persons)表中刪除行。

DELETE FROM persons WHERE id > 3;

執(zhí)行查詢后,人員(persons表將如下所示:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

注意:請參考有關(guān)SQL WHERE子句的教程,以了解如何在從表中刪除記錄時(shí)基于多個(gè)條件形成復(fù)雜的查詢。

刪除所有數(shù)據(jù)

同樣,如上所述,如果您未在WHERE語句中指定子句,則DELETE表中的所有行都將被刪除。但是,目標(biāo)表本身不會被刪除,這意味著表結(jié)構(gòu),屬性和索引將保持不變,但是表中的數(shù)據(jù)會被清空。

以下語句將刪除人員(persons表中的所有記錄:

DELETE FROM persons;

現(xiàn)在,如果您嘗試從人員(persons表中選擇或查詢記錄,則會得到一個(gè)空結(jié)果集。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清