【发布时间】:2012-05-03 10:16:43
【问题描述】:
我说要在 MySQL 数据库表中插入 100 行数据。
但我不想写所有 100 个INSERT 语句。
SQL中是否有任何批量插入语句???
如果可能,请帮助编写代码。
【问题讨论】:
标签: mysql batch-file bulkinsert
我说要在 MySQL 数据库表中插入 100 行数据。
但我不想写所有 100 个INSERT 语句。
SQL中是否有任何批量插入语句???
如果可能,请帮助编写代码。
【问题讨论】:
标签: mysql batch-file bulkinsert
正如MySQL manual 所说:
INSERT使用VALUES语法的语句可以插入多行。为此,请包含多个列值列表,每个列表都包含在括号中并用逗号分隔。示例:INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
此外,来自speed of INSERT的部分:
如果您要同时从同一个客户端插入多行,请使用带有多个
VALUES列表的INSERT语句一次插入多行。这比使用单独的单行INSERT语句要快得多(在某些情况下快很多倍)。如果要向非空表添加数据,则可以调整bulk_insert_buffer_size变量以加快数据插入速度。见Section 5.1.3, “Server System Variables”。
【讨论】:
INSERT INTO tbl (col1, col2) VALUES ('val1', 'val2'), ('val3', 'val4'), ...
下次请先阅读documentation
【讨论】: