SQL INSERT 語句

在本教程中,你將學習如何使用 SQL 在資料庫表中插入記錄。

在表中插入資料

前一章中,我們在 demo 資料庫中建立了一個名為 persons 的表。現在是時候在我們新建立的資料庫表中插入一些資料了。

INSERT INTO 語句用於在資料庫表中插入新行。

語法

將資料插入表的基本語法可以通過以下方式給出:

INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...); 

這裡,column1column2,…等表示表列的名稱,而 value1value2,…等表示這些列的對應值。

讓我們在 persons 表中插入一些記錄。

第 1 步:檢視錶結構

在新增記錄之前,最好獲取有關表結構的資訊。在 MySQL 命令列上執行以下命令。它將顯示有關 persons 表中列的資訊,即列名,資料型別,約束等。

mysql> DESCRIBE persons; 

你可以使用 DESCRIBE table_name; 檢視 MySQL 和 Oracle 資料庫中的任何表的列資訊或結構,而在 SQL Server 中用 EXEC sp_columns table_name;(將 table_name 替換為實際的表名)。

第 2 步:向表中新增記錄

以下語句在 people 表中插入新行。

INSERT INTO persons (name, birth_date, phone)
VALUES ('Peter Wilson', '1990-07-15', '0711-020361');

你是否注意到,我們沒有為 id 欄位插入任何值 ? 因為,如果你記得建立表章節,那麼該 id 欄位標有 AUTO_INCREMENT 標誌,告訴 MySQL 如果沒有指定則自動為該欄位賦值。

注意: 字串和日期等非數字值必須始終用引號括起來,而數字值絕不能用引號括起來。

同樣,在 persons 表中插入另一行,如下所示:

INSERT INTO persons (name, birth_date, phone)
VALUES ('Carrie Simpson', '1995-05-01', '0251-031259');

以類似的方式在 person 表中再插入一行 :

INSERT INTO persons (name, birth_date, phone)
VALUES ('Victoria Ashworth', '1996-10-17', '0695-346721');

現在,如果你從 persons 表中選擇記錄,輸出現在將如下所示:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

我們將在下一章中瞭解用於從表中選擇記錄的 SQL 語句。