【问题标题】:Batch insert SQL statement批量插入 SQL 语句
【发布时间】:2012-05-03 10:16:43
【问题描述】:

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

【问题讨论】:

    标签: mysql batch-file bulkinsert


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:
      INSERT INTO tbl (col1, col2) VALUES ('val1', 'val2'), ('val3', 'val4'), ...
      

      下次请先阅读documentation

      【讨论】:

      • 对不起,我真的把它删了。我只是将查询修改为代码部分。
      • @Sai Kalyan Akshinthala:啊,明白了。我们同时进行了 2 次修改,您是第一次,抱歉
      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多