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