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 语句。