SQL INSERT 语句
在本教程中,你将学习如何使用 SQL 在数据库表中插入记录。
在表中插入数据
在前一章中,我们在 demo 数据库中创建了一个名为 persons 的表。现在是时候在我们新创建的数据库表中插入一些数据了。
INSERT INTO
语句用于在数据库表中插入新行。
语法
将数据插入表的基本语法可以通过以下方式给出:
INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);
这里,column1,column2,…等表示表列的名称,而 value1,value2,…等表示这些列的对应值。
让我们在 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 语句。