如何在mysql中使用INSERT语句插入多条记录

来源:这里教程网 时间:2026-02-28 20:15:48 作者:

在 MySQL 中,可以使用一条 INSERT 语句插入多条记录,这样比执行多条单条插入语句更高效,能显著减少数据库的通信开销。

基本语法:INSERT INTO ... VALUES

通过在 VALUES 后面列出多组括号,每组括号表示一条记录,用逗号分隔:

INSERT INTO table_name (column1, column2, column3) 
VALUES 
  (value1a, value2a, value3a),
  (value1b, value2b, value3b),
  (value1c, value2c, value3c);

例如,向名为 students 的表中插入三条记录:

INSERT INTO students (name, age, class) 
VALUES 
  ('张三', 18, '高三一班'),
  ('李四', 19, '高三二班'),
  ('王五', 17, '高二三班');

注意事项

使用多条记录插入时需要注意以下几点:

每条记录的值必须与指定的列顺序一一对应 所有记录必须拥有相同数量的字段值 如果某字段允许 NULL,可以显式写入 NULL 字符串和日期类型要用单引号包裹

使用 INSERT ... SELECT 插入多条数据

如果要从另一个表中查询数据并插入,可以结合 SELECT 语句:

INSERT INTO students (name, age, class)
SELECT name, age, class FROM temp_students WHERE status = 'approved';

这种方式适合批量迁移或复制数据。

性能建议

当需要插入大量数据时,推荐:

尽量合并为一次多行插入,减少 SQL 执行次数 避免在循环中执行单条 INSERT 注意单条 SQL 语句的长度不要超过 max_allowed_packet 限制 必要时可分批提交(如每 1000 条提交一次)

基本上就这些。合理使用多行 INSERT 能有效提升数据写入效率。

相关推荐