什么是datagrip?

datagrip是jetbrains旗下的一款数据库管理工具,相信做过java开发的都知道,idea就是这家公司发明的。

为什么要使用datagrip?

datagrip的有点非常多,下面博主为列举一下从博主角度下datagrip具有哪些优点。

多数据源支持

datagrip支持非常多的数据源,datagrip2020.1这个版本支持的数据源如下图所示。

dataGrip使用 - 图1

连接mysql数据库

在java开发过程当中,大家应该经常使用或者使用过mysql数据库。博主这里以mysql数据库为例。

dataGrip使用 - 图2

连接信息配置

dataGrip使用 - 图3

驱动配置

在drivers目录下的mysql选项中选择驱动文件的地址,也可以选择datagrip默认的下载。这里由于博主在平时的java开发过程当中已经下载过了jdbc的mysql驱动,所以从maven本地仓库中直接选择驱动文件。

dataGrip使用 - 图4

测试连接

点击图片中的Test Connection,即可查看数据库连接信息 是否配置成功。
dataGrip使用 - 图5

datagrip的风格

datagrip对sql语句的显示让人感觉更加舒适。

dataGrip使用 - 图6

同一套快捷键

因为datagrip也是jetbrains旗下的,它具有跟idea一样的默认快捷键设置。因此,我们只需要记住一套快捷键即可,这里博主列举一下使用比较频繁的快捷键。

代码格式化

快捷键命令:ctrl+al+l

格式化之前的sql,如下图所示:

dataGrip使用 - 图7

格式化之后的sql,如下图所示:

dataGrip使用 - 图8

全局查找

快捷键命令:shift+shift,查找界面如下图所示:

dataGrip使用 - 图9

其它快捷键

dataGrip使用 - 图10

智能提示

datagrip在智能提示这一块做的挺好的。

错误提示

这里我们估计在select语句中缺少了筛选字段,datagrip已经给出了提示。
dataGrip使用 - 图11

插入提示

这里我们输入insert语句时,datagrip会自动给我们提示表的字段。
dataGrip使用 - 图12

字段备注提示

我们将鼠标悬停在字段上时,datagrip会自动给我们提示表的字段会给出字典的类型,备注提示。
dataGrip使用 - 图13

全表删除提示

当我们进行全表数据的删除操作时,datagrip会自动给我们提示。
dataGrip使用 - 图14

导出功能

datagrip有俩种导出功能,一种是dump to file,另外一种是mysqldump方式。

dump data to file

dataGrip使用 - 图15

在extractor处选择sql inserts(这种方式导出的就是insert语句),在output directory中选择要导出的路径。

dataGrip使用 - 图16

datagrip也只能有限表数据的导出。如下图所示,我们筛选了id为1的数据,此时在数据右键,然后选择复制,就可以将数据行转化为insert语句。

dataGrip使用 - 图17

导入功能

datagrip的导入分为俩种,一种是sql语句,另外一种是列数据。

导入sql语句

将我们之前导入的sql语句文件,拖入datagrip,然后点击运行。

dataGrip使用 - 图18

这里我们将这个sql语句,关联到对应数据库的session会话,然后再点击运行。

dataGrip使用 - 图19

导入列数据

选择需要导入的表,右键选择import data to file,就会看到下面这张图。我们将导入之前导出的sql语句。

dataGrip使用 - 图20

点击确定之后,就会进行导入确定界面,datagrip内置的是csv和tsv俩种方式。这里我们演示csv的方式。

dataGrip使用 - 图21

导航功能

当我们将鼠标左键点击sql语句中的role时,datagrip会将其定位role表的位置,如图中的左半部分所示。
dataGrip使用 - 图22