在本教程中,您将学习如何使用SQL在数据库表中插入记录。
在上一章中,我们在演示数据库中创建了一个名为person的表。现在是时候在我们新创建的数据库表中插入一些数据了。
INSERT INTO语句用于在数据库表中插入新行。
用于将数据插入表的基本语法可以通过以下方式给出:
INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);
在这里,column1,column2,...等表示表列的名称,而value1,value2,...等表示这些列的对应值。
让我们在persons表中插入一些记录。
在添加记录之前,最好先获取有关表结构的信息。在MySQL命令行上执行以下命令。它将在人员表中显示有关列的信息,即列名,数据类型,约束等。
mysql> DESCRIBE persons;
您可以使用命令,在MySQL和Oracle数据库中查看列信息或任何表的结构,而在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 插入任何值?因为,如果您还记得创建表一章中的内容,该id字段被标记为AUTO_INCREMENT标志,它告诉MySQL如果未指定该字段,则会自动为该字段分配一个值。
注意:非数字值(例如字符串和日期)必须始终用引号引起来,而数字值绝不能用引号引起来。另外,如果您的字符串本身包含引号,则应使用反斜杠('Let\'s go')对其进行转义。
同样,将另一行插入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');
现在,如果您从人员表中选择记录,则输出将如下所示:
+----+--------------------+------------+-------------+ | 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语句。