WeHelp
SQL 是操作與管理關聯式資料庫的標準語言,也是資料處理、資料分析工作中的重要組成。
  1. 簡介 SQL 語法用途
  2. 建立、修改資料表
  3. 新增資料
  4. 更新資料
  5. 刪除資料
  6. 取得、篩選、排序資料
  7. 分群、聚合資料
刪除資料
以下用一個簡單的 `students` 資料表,示範 SQL 如何刪除資料。 ## 1. 建立資料表 ```sql CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, department VARCHAR(50) ); ``` ## 2. 新增範例資料 ```sql INSERT INTO students (id, name, age, department) VALUES (1, '王小明', 20, '資訊工程'), (2, '李小華', 22, '企業管理'), (3, '陳美玲', 21, '資訊工程'), (4, '林志偉', 23, '電子工程'); ``` 目前資料如下: | id | name | age | department | |---:|---|---:|---| | 1 | 王小明 | 20 | 資訊工程 | | 2 | 李小華 | 22 | 企業管理 | | 3 | 陳美玲 | 21 | 資訊工程 | | 4 | 林志偉 | 23 | 電子工程 | --- # 一、刪除指定資料:`DELETE ... WHERE` 例如,刪除編號為 `2` 的學生: ```sql DELETE FROM students WHERE id = 2; ``` 執行後,`李小華` 這筆資料會被刪除。 > `WHERE` 用來指定刪除條件,避免刪除整張表的資料。 --- # 二、依條件刪除多筆資料 例如,刪除所有就讀「資訊工程」的學生: ```sql DELETE FROM students WHERE department = '資訊工程'; ``` 這會刪除所有符合條件的資料,而不只是其中一筆。 也可以使用其他條件: ```sql DELETE FROM students WHERE age >= 22; ``` 這會刪除年齡大於或等於 22 歲的學生。 --- # 三、刪除資料表中的全部資料 ```sql DELETE FROM students; ``` 這會刪除 `students` 表中的所有資料,但資料表本身仍然存在。 ## 非常重要 以下語法會刪除整張表中的所有資料: ```sql DELETE FROM students; ``` 如果不小心省略 `WHERE`,就會清空整張表。因此執行前應確認條件是否正確。 --- # 四、使用 `TRUNCATE` 清空資料表 ```sql TRUNCATE TABLE students; ``` `TRUNCATE` 也會刪除所有資料,但通常比逐筆執行 `DELETE` 更快。 | 語法 | 作用 | |---|---| | `DELETE FROM students WHERE ...` | 刪除符合條件的資料 | | `DELETE FROM students` | 刪除全部資料,但保留資料表 | | `TRUNCATE TABLE students` | 快速清空全部資料 | | `DROP TABLE students` | 連資料表結構一起刪除 | --- # 五、刪除資料表本身:`DROP TABLE` 如果要連同資料表結構一起刪除: ```sql DROP TABLE students; ``` 執行後,`students` 資料表以及其中所有資料都會消失。 --- ## 建議做法 刪除資料前,可以先用 `SELECT` 確認即將刪除的資料: ```sql SELECT * FROM students WHERE department = '資訊工程'; ``` 確認結果正確後,再執行: ```sql DELETE FROM students WHERE department = '資訊工程'; ``` 實務上,刪除資料時最常使用的語法是: ```sql DELETE FROM 資料表名稱 WHERE 條件; ```
相關學習地圖、教學課程
Python 資料工程
從 0 開始,成為資料工程師的學習路徑。
Python 後端工程、資料庫
從 0 開始,成為後端工程師的學習路徑。