亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

SQL Delete

1. 定義

維基百科:Delete指令用于刪除數據庫中的數據。

慕課解釋:Delete,傳聞中增刪查改中的,是刪除數據庫數據的主要途徑。

2. 前言

本小節,我們將一起學習 SQL Delete。

絕大多數情況下,我們不會刪除所有數據,因此 Delete 需要搭配 Where 一起使用,本小節將以刪除數據
的多少來介紹 Delete 的用法。

本小節測試數據如下,請先在數據庫中執行:

DROP TABLE IF EXISTS imooc_user;
CREATE TABLE imooc_user
(
  username varchar(20),
  age int
);
INSERT INTO imooc_user(username,age) VALUES('pedro', 23), ('mike', 18), ('jerry', 18);

3. 語法

Delete 刪除的單位是,即一條記錄,不能用于刪除某個字段。

Delete 語法如下:

DELETE FROM [table_name] WHERE [col] = [val];

4. 刪除一行

4.1 例1 刪除 pedro 用戶

請書寫 SQL 語句,刪除imooc_user表中用戶名為pedro的用戶。

分析:

目前imooc_user表中只存在一個名為pedro用戶,搭配 Where 進行刪除,篩選條件是用戶名,即username=pedro。

語句

整理可得語句如下:

DELETE FROM imooc_user WHERE username='pedro';

結果如下:

+----------+-----+
| username | age |
+----------+-----+
| mike     | 18  |
| jerry    | 18  |
+----------+-----+

5. 刪除多行

Delete 不僅可以刪除一條記錄,還可以一次性刪除多條記錄,刪除多少取決于 Where 后的條件子句。

5.1 例2 刪除多個用戶

請書寫 SQL 語句,刪除imooc_user表中年齡為18的用戶。

分析:

目前imooc_user表中存在多個年齡為18用戶,搭配 Where 進行刪除,篩選條件是年齡,即age=18

語句

整理可得語句如下:

DELETE FROM imooc_user WHERE age=18;

結果如下:

+----------+-----+
| username | age |
+----------+-----+

6. 小結

  • 切勿直接使用DELETE FROM imooc_user;這樣的 SQL 語句,會直接刪除掉所有的數據。
  • 刪除數據是一個危險操作,在使用 Delete 之前,請慎重考慮。