14 SQL Delete
阿新 • • 發佈:2020-06-25
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 之前,請慎重考慮。