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 之前,請慎重考慮。