• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

MySQL/MariaDB 資料庫 DELETE 刪除資料指令用法教學

介紹如何在 MySQL/MariaDB 資料庫中使用 DELETE 指令刪除指定的資料。

建立測試用資料

為了示範 DELETE 指令的使用方式,我們先建立測試用的 products 資料表:

-- 建立 products 資料表
CREATE TABLE products (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255),
  price INT UNSIGNED,
  inventory INT UNSIGNED,
  last_update DATE,
  PRIMARY KEY (id)
);

再插入一些測試用的資料:

-- 新增資料
INSERT INTO products (name, price, inventory, last_update) VALUES
  ("A031", 320, 9, "2015-10-14"),
  ("C001", 420, 0, "2013-03-08"),
  ("B021", 280, 3, "2013-12-02"),
  ("Y158", 690, 4, "2015-11-21"),
  ("A202", 195, 1, "2019-02-23"),
  ("D022", 540, 5, "2017-03-19");

顯示測試用的資料:

-- 顯示所有資料
SELECT * FROM products;
+----+------+-------+-----------+-------------+
| id | name | price | inventory | last_update |
+----+------+-------+-----------+-------------+
|  1 | A031 |   320 |         9 | 2015-10-14  |
|  2 | C001 |   420 |         0 | 2013-03-08  |
|  3 | B021 |   280 |         3 | 2013-12-02  |
|  4 | Y158 |   690 |         4 | 2015-11-21  |
|  5 | A202 |   195 |         1 | 2019-02-23  |
|  6 | D022 |   540 |         5 | 2017-03-19  |
+----+------+-------+-----------+-------------+

DELETE 刪除資料

DELETE 可以用來刪除資料表中指定的資料,例如刪除 id 為 5 的那一筆資料:

-- 刪除 id 為 5 的資料
DELETE FROM products WHERE id = 5;

接著查看刪除後的結果:

-- 顯示所有資料
SELECT * FROM products;
+----+------+-------+-----------+-------------+
| id | name | price | inventory | last_update |
+----+------+-------+-----------+-------------+
|  1 | A031 |   320 |         9 | 2015-10-14  |
|  2 | C001 |   420 |         0 | 2013-03-08  |
|  3 | B021 |   280 |         3 | 2013-12-02  |
|  4 | Y158 |   690 |         4 | 2015-11-21  |
|  6 | D022 |   540 |         5 | 2017-03-19  |
+----+------+-------+-----------+-------------+

刪除多筆資料

若要一次刪除多筆資料,可以使用 IN 清單條件指定多個 id:

-- 刪除 id 為 1, 4 的資料
DELETE FROM products WHERE id IN (1, 4);

-- 顯示所有資料
SELECT * FROM products;
+----+------+-------+-----------+-------------+
| id | name | price | inventory | last_update |
+----+------+-------+-----------+-------------+
|  2 | C001 |   420 |         0 | 2013-03-08  |
|  3 | B021 |   280 |         3 | 2013-12-02  |
|  6 | D022 |   540 |         5 | 2017-03-19  |
+----+------+-------+-----------+-------------+

刪除時間區間內的資料

若要刪除指定時間區間內的資料,則可使用 BETWEEN 區間條件:

-- 刪除 last_update 介於 2013-01-01 與 2013-12-31 的資料
DELETE FROM products WHERE last_update BETWEEN "2013-01-01" AND "2013-12-31";

-- 顯示所有資料
SELECT * FROM products;
+----+------+-------+-----------+-------------+
| id | name | price | inventory | last_update |
+----+------+-------+-----------+-------------+
|  6 | D022 |   540 |         5 | 2017-03-19  |
+----+------+-------+-----------+-------------+

清空資料表

若不加任何的資料篩選條件,DELETE 就會將整張資料表內所有的資料都刪除:

-- 清空 products 資料表
DELETE FROM products;

分類:資料庫 標籤:MySQL/MariaDB

主要資訊欄

搜尋

近期文章

  • Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤
  • Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例
  • Linux 網路設定 ip 指令用法教學與範例
  • Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例
  • Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例
  • Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例
  • Linux 以 Cryptsetup 與 LUKS 加密磁碟教學與範例
  • Linux 使用 age 簡潔的加密、解密工具使用教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide