如何通过DataGrip每100行制作一条sql插入语句

时间:2018-11-05 05:15:23

标签: mysql datagrip

升级到Mojave后,Sequel Pro开始崩溃。 我将使用DataGrip作为主要的数据库工具。但是我有一个尚未找到解决方案的问题: Datagrip→将数据转储到文件→SQL惰性

DataGrip生成的insert语句如下:

INSERT INTO high_school_list (id, name) VALUES (1, 'a');
INSERT INTO high_school_list (id, name) VALUES (2, 'b');
INSERT INTO high_school_list (id, name) VALUES (3, 'c');

这种sql执行效率很低。 Sequel Pro生成的插入语句为:

INSERT INTO high_school_list (id, name) VALUES (1, 'a'), (2, 'b'), (3, 'c');

如何设置datagrip以生成诸如Sequel Pro之类的Insert Sql格式的语句?

2 个答案:

答案 0 :(得分:1)

  1. 下载此脚本文件:https://gist.github.com/leo-from-spb/ec438f1fe9995b910ad816aabe47dd4f
  2. 将其放入脚本文件夹(要找到它,请按提取器下拉菜单中的“转到脚本目录”。)
  3. 使用此提取器。 enter image description here

答案 1 :(得分:0)

可以在以下位置找到一种更好的解决方案,该解决方案允许使用批处理而不是可能一次尝试全部插入数百万行的方法:SQL Batch Multi-Line Insert

此解决方案还具有许多其他可能有用的配置选项,但是主要功能是它通过批量插入而不是一次全部插入来防止将表锁定太长时间。

如何在DataGrip中安装脚本

  1. 转到“数据提取器”下拉列表。 (在结果栏中)
  2. 选择“转到脚本目录”
  3. 创建一个名为“ SQL Batch Multi-Line Insert.sql.groovy”的新文件
  4. 粘贴并保存脚本
  5. (可选)调整配置变量