資料庫

MySQL/MariaDB 資料庫 INSERT 插入新增資料教學與範例

介紹如何在 MySQL/MariaDB 資料庫中,以 INSERT 指令在資料表中新增一筆或多筆資料。

假設我們已經依照建立資料表的教學,建立了一個 persons 資料表,其結構如下:

-- 查看 persons 資料表結構
DESCRIBE persons;
+-------+--------------------------------------+------+-----+---------+----------------+
| Field | Type                                 | Null | Key | Default | Extra          |
+-------+--------------------------------------+------+-----+---------+----------------+
| id    | int(11)                              | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)                         | YES  |     | NULL    |                |
| age   | int(10) unsigned                     | YES  |     | NULL    |                |
| city  | enum('Taipei','Hsinchu','Kaohsiung') | YES  |     | NULL    |                |
+-------+--------------------------------------+------+-----+---------+----------------+

如果要在 persons 資料表中新增一筆資料,可以使用 INSERT 來插入資料,並指定資料的欄位名稱以及資料內容:

-- 插入一筆資料至 persons 資料表
INSERT INTO persons (name, age, city) VALUES ("Arden", 32, "Taipei");

如果資料表中有 AUTO_INCREMENT 屬性的 id 欄位,可以使用 LAST_INSERT_ID() 取得剛新增資料的 id 值:

-- 取得剛新增資料的 id
SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                1 |
+------------------+

INSERT 指令也可以一次插入多筆資料:

-- 插入多筆資料至 persons 資料表
INSERT INTO persons (name, age, city) VALUES
  ("Bond", 54, "Taipei"),
  ("Cole", 12, "Hsinchu"),
  ("Dana", 19, "Hsinchu");

資料插入之後,可用 SELECT 查看目前資料表內的資料:

-- 查看 persons 資料表內所有資料
SELECT * FROM persons;
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  2 | Bond  |   54 | Taipei  |
|  3 | Cole  |   12 | Hsinchu |
|  4 | Dana  |   19 | Hsinchu |
+----+-------+------+---------+

如果在新增資料時,會依序指定每一個欄位的話,就可以省略指定欄位名稱:

-- 依序指定所有欄位的資料(省略指定欄位名稱)
INSERT INTO persons VALUES (19, "Jack", 33, "Taipei");

查看結果:

-- 查看 persons 資料表內所有資料
SELECT * FROM persons;
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  2 | Bond  |   54 | Taipei  |
|  3 | Cole  |   12 | Hsinchu |
|  4 | Dana  |   19 | Hsinchu |
| 19 | Jack  |   33 | Taipei  |
+----+-------+------+---------+
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago