在本教程中,您將學習如何使用SQL在數(shù)據(jù)庫表中插入記錄。
在上一章中,我們在演示數(shù)據(jù)庫中創(chuàng)建了一個名為person的表。現(xiàn)在是時候在我們新創(chuàng)建的數(shù)據(jù)庫表中插入一些數(shù)據(jù)了。
INSERT INTO語句用于在數(shù)據(jù)庫表中插入新行。
用于將數(shù)據(jù)插入表的基本語法可以通過以下方式給出:
INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);
在這里,column1,column2,...等表示表列的名稱,而value1,value2,...等表示這些列的對應值。
讓我們在persons表中插入一些記錄。
在添加記錄之前,最好先獲取有關(guān)表結(jié)構(gòu)的信息。在MySQL命令行上執(zhí)行以下命令。它將在人員表中顯示有關(guān)列的信息,即列名,數(shù)據(jù)類型,約束等。
mysql> DESCRIBE persons;
您可以使用命令,在MySQL和Oracle數(shù)據(jù)庫中查看列信息或任何表的結(jié)構(gòu),而在SQL Server中,可以使用實際的表名替換table_name。DESCRIBE table_name;EXEC sp_columns table_name;
以下語句在persons表中插入新行。
INSERT INTO persons (name, birth_date, phone) VALUES ('Peter Wilson', '1990-07-15', '0711-020361');
您是否注意到,我們沒有為idfield 插入任何值?因為,如果您還記得創(chuàng)建表一章中的內(nèi)容,該id字段被標記為AUTO_INCREMENT標志,它告訴MySQL如果未指定該字段,則會自動為該字段分配一個值。
注意:非數(shù)字值(例如字符串和日期)必須始終用引號引起來,而數(shù)字值絕不能用引號引起來。另外,如果您的字符串本身包含引號,則應使用反斜杠('Let\'s go')對其進行轉(zhuǎn)義。
同樣,將另一行插入persons表,如下所示:
INSERT INTO persons (name, birth_date, phone) VALUES ('Carrie Simpson', '1995-05-01', '0251-031259');
以類似的方式在persons表中再插入一行:
INSERT INTO persons (name, birth_date, phone) VALUES ('Victoria Ashworth', '1996-10-17', '0695-346721');
現(xiàn)在,如果您從人員表中選擇記錄,則輸出將如下所示:
+----+--------------------+------------+-------------+ | 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語句。