DataGrip 是 JetBrains 公司推出的管理数据库的产品。对于 JetBrains 公司,开发者肯定都不陌生,IDEA 和 ReSharper 都是这个公司的产品,用户体验非常不错。
DataGrip 提供 Windows 版本和 macOS 版本,支持几乎所有主流的关系数据库产品,如:PostgreSQL、MySQL、Oracle Database、SQL Server、Azure、Amazon Redshift、SQLite、DB2、H2、Sybase、Exasol、Apache Derby、MariaDB、HyperSQL、ClickHouse、Cassandra、Vertica、Greenplum、Apache Hive、Snowflake 等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
1,下载安装
我们访问如下官网地址下载并安装即可:
https://www.jetbrains.com/datagrip/
2,配置数据源
(1)管理数据库,第一步肯定是要先配置 Data Source。首先点击左侧 Database 面板的加号(+),选择要连接的数据库类型:
![](https://pic.jg.com.cn/img/pinggu/d0bbc7593168747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3136343734306b72796e726262706d686e347a6272702e706e6737558f435f.jpg)
(2)接着填写好相关的数据库连接信息,点击确定即可(确定前可以先点击下“Test Connection”按钮测试一下)
![](https://pic.jg.com.cn/img/pinggu/2cae5759ac68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313635333336717a70326b6e6a6a757233706b64776f2e706e6794e4040e20.jpg)
(3)可看到左侧面板显示了当前数据库连接,展开后会显示数据库表等信息,如果展开后没有任何信息,需要选中数据库连接,点击上面的旋转图标同步一下。
![](https://pic.jg.com.cn/img/pinggu/063a8574da68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313635353531647264653277777131613671737476772e706e67b50951b1e0.jpg)
3,执行 SQL
(1)右键选中的数据库连接,选择 Query Console,就可以在右侧的控制台中书写 sql 语句了。
![](https://pic.jg.com.cn/img/pinggu/79af5888fc68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313730323537723333626837687979633163726473792e706e67d11bf8ecb6.jpg)
(2)语句的执行结果在底部显示:
![](https://pic.jg.com.cn/img/pinggu/3e517db23d68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313730373332696f7576736361326b6e32616f756e372e706e672d8a3f6310.jpg)
(3)而切换到执行结果旁边的 Output 选项卡,则可以看到 sql 执行的时间等信息:
![](https://pic.jg.com.cn/img/pinggu/15a157251268747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f31373038333731337a6a6e3963693367676e6e767a332e706e670ce00d0cd5.jpg)
(4)有的时候我们要把某个字段置为 null(不是空字符串 ""),直接在字段上右键,选择 Set NULL 即可:
![](https://pic.jg.com.cn/img/pinggu/8f491823d268747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3137313033356761626f306a3367316f6262626f73302e706e672ac8f5d3fe.jpg)
(5)对于需要多窗口查看结果的,即希望查询结果在新的 tab 中展示,可以点击 Pin Tab 按钮,那新查询将不会再当前 tab 中展示,而是新打开一个 tab:
![](https://pic.jg.com.cn/img/pinggu/850bd8f9f068747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313731333132793369786b727a7a7967796b34726b352e706e676d90b6cdeb.jpg)
4,行转列
(1)对于字段比较多的表,查看数据要左右拖动不太方便。我们可以选中需要查看的某一条数据,右键选择“Quick Documentation”
![](https://pic.jg.com.cn/img/pinggu/cdf3e29b9068747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313731353031303233793672757639623372393239332e706e6711e94c1db6.jpg)
(2)这一条数据则会变成列显示,从而全部显示出来:
![](https://pic.jg.com.cn/img/pinggu/e64a7417ec68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313731373235666639627a756f3474663734796834792e706e673cfce2c3b4.jpg)
5,多光标模式
在编辑 sql 的时候,可能需要同时输入或同时删除一些字符,按下 alt + shift,同时鼠标在不同的位置点击,会出现多个光标,这样就可以多处同时进行输入:
![](https://pic.jg.com.cn/img/pinggu/cd96569c5668747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3137313931337676616d766d62686268637a677a686c2e706e672ca8ea22f8.jpg)
6,代码注释
选中要注释的代码,按下相应快捷键便能能注释代码,或取消注释:
Windows 系统:ctrl + / 是单行注释,ctrl + shift + / 是多行注释
macOS 系统:command + / 是单行注释,command + option + / 是多行注释
![](https://pic.jg.com.cn/img/pinggu/d69c829d1b68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313732303531377a636e726b697571637a63306361302e706e6713e61b8ce3.jpg)
7,查看代码历史
在文本编辑器中,右键选择“Local History”->“Show History”可以查看过去使用过的 sql 历史:
![](https://pic.jg.com.cn/img/pinggu/c8aac6218068747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3137323334317963637376307a7262797977737677652e706e67a3ff6d8d9f.jpg)
8,执行计划
(1)右键点击目标 sql 语言,选择 Explain Plan 可以产生执行计划:
![](https://pic.jg.com.cn/img/pinggu/457d2a938168747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f31373235323865346972763130317234726461306d612e706e676d169bcb40.jpg)
(2)如果选择 Explain Plan(Raw) 则结果如下:
![](https://pic.jg.com.cn/img/pinggu/7daf4e2a3f68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313733303233686b32307a356e36627463773263686b2e706e6787a467bbc4.jpg)
9,新建表
在数据库上点击右键,选择“NEW”-> “Table” 即可打开新建表窗口。顶部可以填写表名、表注释,中间可以点击下侧 + 号添加列,列类型 type 也是能自动补全,default 右侧的消息框图标点击后能对列添加注释,旁边的几个 tab 可以设置索引及外键。所有这些操作的 DDL 都会直接在底部显示
![](https://pic.jg.com.cn/img/pinggu/6be5a499c868747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f31373334353830697a726c78696e38726c38696c6e6e2e706e6764db814185.jpg)
10,生成表的创建脚本
(1)如果我们需要数据库中某张已存在的表的创建脚本,可以右键点击该表,选择“SQL Scripts”->“SQL Generator...”
![](https://pic.jg.com.cn/img/pinggu/914e799d0268747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313733393532686b7a7171683537686f7963636f656b2e706e67bd3f5aec19.jpg)
(2)然后页面下方就会出现建表 SQL 语句,同时左侧可以对语句进行一些设置。
![](https://pic.jg.com.cn/img/pinggu/e0db51156f68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f31373431313032356169633579657875323268356d612e706e678caf588b6a.jpg)
11,导出数据
(1)右键点击需要导出的库或者具体的表,选择“Dump Data to File”即可将数据导出。我们可以导出 insert、update 形式的 sql 语句,也能导出为 html、csv、json 格式的数据。
![](https://pic.jg.com.cn/img/pinggu/98abb2ec2f68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3137343430353864697665786f6871776872626430772e706e67766f70bf89.jpg)
(2)如果是导出到 csv 格式,还能控制导出的格式:
![](https://pic.jg.com.cn/img/pinggu/f91220aba268747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f31373435323266766e667968376f726f6d686e7266692e706e67e081b7619b.jpg)
(3)也可以在查询结果视图中导出:
![](https://pic.jg.com.cn/img/pinggu/36df69538168747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f3137343735396f6534313934656365616234747934652e706e67d3b03a032d.jpg)
12,导入数据
(1)如果是 sql 语句,我们右键需要导入的数据库,点击“Run SQL Script...”选择 SQL 文件即可。
![](https://pic.jg.com.cn/img/pinggu/ca7878e36b68747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313735303034737566736f7a696f617a6f79376d36692e706e677d3fec7b1f.jpg)
(2)如果是 html、csv、json 格式的数据,右键需要导入数据的库或者具体的表,选择“Import Data from File...”选择数据文件即可:
![](https://pic.jg.com.cn/img/pinggu/210550ea0568747470733a2f2f6262732d7069632e64617461636f757273652e636e2f666f72756d2f3230323230312f32372f313735313133397233326c306c74706f326d6d676b6f2e706e672fb45187cf.jpg)