SQL 基础教程
SQL 连接
SQL 高级教程
SQL 参考资料

SQL INSERT 语句

在本教程中,您将学习如何使用 SQL 在数据库表中插入记录。

在表中插入数据

前一章中,我们在demo数据库中创建了一个名为persons的表 . 现在是时候在我们新创建的数据库表中插入一些数据了。

INSERT INTO 语句用于在数据库表中插入新行。

语法

将数据插入表的基本语法可以通过以下方式给出:

INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);

这里的column1column2、...等代表表列的名称,而value1value2、...等表示这些列的对应值。

让我们在 persons 表中插入一些记录。

第一步:查看表结构

在添加记录之前,最好先获取有关表结构的信息。 在 MySQL 命令行上执行以下命令。 它将显示有关 persons 表中列的信息,即列名、数据类型、约束等。

mysql> DESCRIBE persons;

您可以使用命令 DESCRIBE table_name; 在 MySQL 和 Oracle 数据库中查看任何表的列信息或结构,而在 SQL Server 中使用命令 EXEC sp_columns table_name;(将 table_name 替换为实际表名)。

步骤 2:向表中添加记录

以下语句在 persons 表中插入一个新行。

INSERT INTO persons (name, birth_date, phone)
VALUES ('Peter Wilson', '1990-07-15', '0711-020361');

您注意到了吗,我们没有为 id 字段插入任何值? 因为,如果你记得在 创建表 章节中,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');

现在,如果您从 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 语句。

Advertisements