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

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 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ù)庫(kù)服務(wù)器安裝
MySQL創(chuàng)建表
MySQL導(dǎo)入示例數(shù)據(jù)庫(kù)
MySQL教程
MySQL函數(shù)
MySQL管理
MySQL WHERE語(yǔ)句
MySQL存儲(chǔ)過(guò)程
MySQL技巧
MySQL觸發(fā)器
MySQL示例數(shù)據(jù)庫(kù)
MySQL重命名表
MySQL數(shù)據(jù)類型
MySQL創(chuàng)建與刪除數(shù)據(jù)庫(kù)
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ù)庫(kù)(其中包函表和示例數(shù)據(jù))
http://www.yiibai.com/mysql/stored-procedure.html

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

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

1. MySQL DELETE語(yǔ)句介紹

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

DELETE FROM table_name
WHERE condition;

在上面查詢語(yǔ)句中 -

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

請(qǐng)注意,WHERE子句是可選的。如果省略WHERE子句,DELETE語(yǔ)句將刪除表中的所有行。

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

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

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

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

2. MySQL DELETE的例子

我們將使用示例數(shù)據(jù)庫(kù)(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

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

假設(shè)要?jiǎng)h除officeNumber4的員工,則使用DELETE語(yǔ)句與WHERE子句作為以下查詢:

DELETE FROM employees 
WHERE
    officeCode = 4;

要?jiǎng)h除employees表中的所有行,請(qǐng)使用不帶WHERE子句的DELETE語(yǔ)句,如下所示:

DELETE FROM employees;

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

MySQL DELETE和LIMIT子句

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

DELETE FROM table
LIMIT row_count;

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

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

考慮在示例數(shù)據(jù)庫(kù)(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

例如,以下語(yǔ)句按客戶名稱按字母排序客戶,并刪除前10個(gè)客戶:

DELETE FROM customers
ORDER BY customerName
LIMIT 10;

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

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

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

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

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