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