批量插入SQL语句

时间:2012-05-03 10:16:44

标签: mysql batch-file bulkinsert

我说要在MySQL数据库表中插入100行数据 但我不想写所有100条INSERT陈述 SQL中是否有任何批量插入语句? 如果可能,请帮助您。

2 个答案:

答案 0 :(得分:2)

INSERT INTO tbl (col1, col2) VALUES ('val1', 'val2'), ('val3', 'val4'), ...

请在下次首先阅读documentation

答案 1 :(得分:2)

正如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”