在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MySQL刪除表數(shù)據(jù)
MySQL+Node.js連接和操作
MySQL刪除表數(shù)據(jù)
http://www.yiibai.com/mysql/triggers.html
MySQL是什么?
MySQL插入數(shù)據(jù)
MySQL是什么?
MySQL全文搜索
MySQL數(shù)據(jù)庫服務(wù)器安裝
MySQL創(chuàng)建表
MySQL導(dǎo)入示例數(shù)據(jù)庫
MySQL教程
MySQL函數(shù)
MySQL管理
MySQL WHERE語句
MySQL存儲過程
MySQL技巧
MySQL觸發(fā)器
MySQL示例數(shù)據(jù)庫
MySQL重命名表
MySQL數(shù)據(jù)類型
MySQL創(chuàng)建與刪除數(shù)據(jù)庫
MySQL更新表數(shù)據(jù)
MySQL快速學(xué)習(xí)入門
MySQL安裝
MySQL快速入門
MySQL視圖
http://www.yiibai.com/mysql/mysqltips.html
MySQL修改表結(jié)構(gòu)
MySQL基礎(chǔ)教程
MySQL+Python連接和操作
http://www.yiibai.com/mysql/basic-mysql.html
MySQL查詢數(shù)據(jù)
http://www.yiibai.com/mysql/views.html
http://www.yiibai.com/mysql/full-text-search.html
下載本MySQL教程的示例數(shù)據(jù)庫(其中包函表和示例數(shù)據(jù))
http://www.yiibai.com/mysql/stored-procedure.html

MySQL刪除表數(shù)據(jù)

在本教程中,您將學(xué)習(xí)如何使用MySQL DELETE語句從單個表中刪除數(shù)據(jù)。

1. MySQL DELETE語句介紹

要從表中刪除數(shù)據(jù),請使用MySQL DELETE語句。下面說明了DELETE語句的語法:

DELETE FROM table_name
WHERE condition;

在上面查詢語句中 -

  • 首先,指定刪除數(shù)據(jù)的表(table_name)。
  • 其次,使用條件來指定要在WHERE子句中刪除的行記錄。如果行匹配條件,這些行記錄將被刪除。

請注意,WHERE子句是可選的。如果省略WHERE子句,DELETE語句將刪除表中的所有行。

除了從表中刪除數(shù)據(jù)外,DELETE語句返回刪除的行數(shù)。

要使用單個DELETE語句從多個表中刪除數(shù)據(jù),請閱讀下一個教程中將介紹的DELETE JOIN語句

要刪除表中的所有行,而不需要知道刪除了多少行,那么應(yīng)該使用TRUNCATE TABLE語句來獲得更好的執(zhí)行性能。

對于具有外鍵約束的表,當(dāng)從父表中刪除行記錄時,子表中的行記錄將通過使用ON DELETE CASCADE選項自動刪除。

2. MySQL DELETE的例子

我們將使用示例數(shù)據(jù)庫(yiibaidb)中的employees表進(jìn)行演示。

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| emp_id      | int(11)      | NO   | PRI | NULL    | auto_increment |
| emp_name    | varchar(255) | NO   |     | NULL    |                |
| performance | int(11)      | YES  | MUL | NULL    |                |
| salary      | float        | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set

請注意,一旦刪除數(shù)據(jù),它就會永遠(yuǎn)消失。 因此,在執(zhí)行DELETE語句之前,應(yīng)該先備份數(shù)據(jù)庫,以防萬一要找回刪除過的數(shù)據(jù)。

假設(shè)要刪除officeNumber4的員工,則使用DELETE語句與WHERE子句作為以下查詢:

DELETE FROM employees 
WHERE
    officeCode = 4;

要刪除employees表中的所有行,請使用不帶WHERE子句的DELETE語句,如下所示:

DELETE FROM employees;

在執(zhí)行上面查詢語句后,employees表中的所有行都被刪除。

MySQL DELETE和LIMIT子句

如果要限制要刪除的行數(shù),則使用LIMIT子句,如下所示:

DELETE FROM table
LIMIT row_count;

請注意,表中的行順序未指定,因此,當(dāng)您使用LIMIT子句時,應(yīng)始終使用ORDER BY子句,不然刪除的記錄可能不是你所預(yù)期的那樣。

DELETE FROM table_name
ORDER BY c1, c2, ...
LIMIT row_count;

考慮在示例數(shù)據(jù)庫(yiibaidb)中的customers表,其表結(jié)構(gòu)如下:

mysql> desc customers;
+------------------------+---------------+------+-----+---------+-------+
| Field                  | Type          | Null | Key | Default | Extra |
+------------------------+---------------+------+-----+---------+-------+
| customerNumber         | int(11)       | NO   | PRI | NULL    |       |
| customerName           | varchar(50)   | NO   |     | NULL    |       |
| contactLastName        | varchar(50)   | NO   |     | NULL    |       |
| contactFirstName       | varchar(50)   | NO   |     | NULL    |       |
| phone                  | varchar(50)   | NO   |     | NULL    |       |
| addressLine1           | varchar(50)   | NO   |     | NULL    |       |
| addressLine2           | varchar(50)   | YES  |     | NULL    |       |
| city                   | varchar(50)   | NO   |     | NULL    |       |
| state                  | varchar(50)   | YES  |     | NULL    |       |
| postalCode             | varchar(15)   | YES  |     | NULL    |       |
| country                | varchar(50)   | NO   |     | NULL    |       |
| salesRepEmployeeNumber | int(11)       | YES  | MUL | NULL    |       |
| creditLimit            | decimal(10,2) | YES  |     | NULL    |       |
+------------------------+---------------+------+-----+---------+-------+
13 rows in set

例如,以下語句按客戶名稱按字母排序客戶,并刪除前10個客戶:

DELETE FROM customers
ORDER BY customerName
LIMIT 10;

類似地,以下DELETE語句選擇法國(France)的客戶,按升序按信用額度(creditLimit)進(jìn)行排序,并刪除前5個客戶:

DELETE FROM customers
WHERE country = 'France'
ORDER BY creditLimit
LIMIT 5;

類似地,以下DELETE語句選擇法國(France)的客戶,按升序按信用額度(creditLimit)進(jìn)行排序,并刪除前5個客戶:

DELETE FROM customers
WHERE country = 'France'
ORDER BY creditLimit
LIMIT 5;

在本教程中,您已經(jīng)學(xué)會了如何使用MySQL DELETE語句從表中刪除數(shù)據(jù)。