tft每日頭條

 > 科技

 > mysql清空列數據

mysql清空列數據

科技 更新时间:2024-11-25 18:00:16

mysql清空列數據(MySQL删除表數據九)1

在本教程中,您将學習如何使用MySQL DELETE語句從單個表中删除數據。

1. MySQL DELETE語句介紹

要從表中删除數據,請使用MySQL DELETE語句。下面說明了DELETE語句的語法:

DELETE FROM table_name WHERE condition; SQL

在上面查詢語句中 -

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

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

除了從表中删除數據外,DELETE語句返回删除的行數。

要使用單個DELETE語句從多個表中删除數據,請閱讀下一個教程中将介紹的DELETE JOIN語句。

要删除表中的所有行,而不需要知道删除了多少行,那麼應該使用TRUNCATE TABLE語句來獲得更好的執行性能。

對于具有外鍵約束的表,當從父表中删除行記錄時,子表中的行記錄将通過使用ON DELETE CASCADE選項自動删除。

2. MySQL DELETE的例子

我們将使用示例數據庫(yiibaidb)中的employees表進行演示。

------------- -------------- ------ ----- --------- ---------------- | 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 SQL

請注意,一旦删除數據,它就會永遠消失。 因此,在執行DELETE語句之前,應該先備份數據庫,以防萬一要找回删除過的數據。

假設要删除officeNumber為4的員工,則使用DELETE語句與WHERE子句作為以下查詢:

DELETE FROM employees WHERE officeCode = 4; SQL

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

DELETE FROM employees; SQL

在執行上面查詢語句後,employees表中的所有行都被删除。

MySQL DELETE和LIMIT子句

如果要限制要删除的行數,則使用LIMIT子句,如下所示:

DELETE FROM table LIMIT row_count; SQL

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

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

考慮在示例數據庫(yiibaidb)中的customers表,其表結構如下:

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 SQL

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

DELETE FROM customers ORDER BY customerName LIMIT 10; SQL

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

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

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

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

在本教程中,您已經學會了如何使用MySQL DELETE語句從表中删除數據。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部
酷組詞

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved