MySQL数据库添加记录的正确语法是什么?请详细解释其构造与用法。
- 数据库
- 2025-11-15
- 5
在MySQL数据库中添加记录,通常使用INSERT INTO语句,以下是一个详细的步骤和示例,帮助你理解如何使用INSERT INTO语句来添加记录。
确定表结构
在添加记录之前,你需要知道你将要插入记录的表的结构,这包括表中的所有列名和数据类型,以下是一个示例表结构:
| 列名 | 数据类型 | 描述 |
|---|---|---|
| id | INT | 主键,自增 |
| name | VARCHAR(100) | 用户名 |
| VARCHAR(100) | 邮箱 | |
| age | INT | 年龄 |
| created_at | DATETIME | 创建时间 |
使用INSERT INTO语句
INSERT INTO语句的基本格式如下:
INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);
表名是你要插入记录的表名,(列1, 列2, 列3, ...)是要插入数据的列名列表,VALUES (值1, 值2, 值3, ...)是要插入的数据值列表。

示例
以下是一个使用INSERT INTO语句添加记录的示例:
INSERT INTO users (name, email, age, created_at) VALUES ('张三', 'zhangsan@example.com', 25, NOW());
在这个例子中,我们向users表中插入了一条记录,其中name列的值为张三,email列的值为zhangsan@example.com,age列的值为25,created_at列的值为当前时间。
使用多个值插入
如果你要插入多条记录,可以使用以下格式:

以下是一个示例:
INSERT INTO users (name, email, age, created_at) VALUES ('李四', 'lisi@example.com', 30, NOW()), ('王五', 'wangwu@example.com', 28, NOW());
在这个例子中,我们一次性向users表中插入了两条记录。
使用子查询插入
如果你要从另一个表中查询数据并插入到当前表中,可以使用子查询:
INSERT INTO 表名 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 另一个表名 WHERE 条件;
以下是一个示例:
INSERT INTO users (name, email, age, created_at) SELECT name, email, age, NOW() FROM another_table WHERE condition;
在这个例子中,我们从another_table表中查询满足条件的记录,并将它们插入到users表中。
FAQs
Q1:如何使用INSERT INTO语句插入多条记录?
A1:使用逗号分隔多个VALUES子句来实现。
INSERT INTO users (name, email, age, created_at) VALUES ('张三', 'zhangsan@example.com', 25, NOW()), ('李四', 'lisi@example.com', 30, NOW()), ('王五', 'wangwu@example.com', 28, NOW());
Q2:如何使用子查询插入数据?
A2:使用子查询作为VALUES子句的来源。
INSERT INTO users (name, email, age, created_at) SELECT name, email, age, NOW() FROM another_table WHERE condition;
在这个例子中,我们从another_table表中查询满足条件的记录,并将它们插入到users表中。
