发现一款好用到爆的数据库工具,被惊艳到了!
共 4503字,需浏览 10分钟
· 2021-05-29
最近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司。
DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。之前试用的客户端工具是dbvisualizer,但是在试用了DataGrip以后,我就决定抛弃dbvisualizer。
我相信,当你第一眼看到DataGrip以后,会有一种惊艳的感觉,就好比你第一眼看到一个姑娘,就是那么一瞥,你对自己说,就是她了!
废话不多说,来看看DataGrip的常用功能。安装过程也很简单,双击安装,下一步,中间会让你选择主题,本人选择的是经典的Darcula,安装完成后,启动,界面如下
![](https://filescdn.proginn.com/4f49adf772fef0252e7fb72f815bde65/0a349a51d6b4b8526b57fc6e13e792b3.webp)
相信使用过IDEA的同学会感到很亲切。接下来管理数据库驱动。DataGrip支持主流的数据库,File->DataSource
![](https://filescdn.proginn.com/e45b9de06103c1f8c62e5684be80dd81/ef67911f21b734224918484c7d958968.webp)
也可以在Database视图中展开绿色的+号,添加数据库连接
![](https://filescdn.proginn.com/87e9b1e57f1ff8c5642f80d5814551c1/44d10a687fdae60beb158436bda86a89.webp)
选择需要连接的数据库类型
![](https://filescdn.proginn.com/986b0fe366c0ca28059ef3525a5100a3/d32b2566e644f3c2e41bc25013e4ac7b.webp)
在面板中,左上部分列出了已经建立的数据库连接,点击各项,右侧会展示当前连接的配置信息,General面板中,可以配置数据库连接的信息,如主机、用户名、密码等,不同数据库配置信息不完全相同,填入数据库URL,注意,URL后有个选项,可以选择直接填入url,那么就不需要单独填主机名、端口等信息了。
Driver部分显示数据库驱动信息,如果还没有下载过驱动,底部会有个警告,提示缺少驱动
![](https://filescdn.proginn.com/b0d4c0d45da239fc0a7b07181b32d600/271e3a1836e87840617259eeb2c55143.webp)
点击Driver后的数据库类型,会跳转到驱动下载页面,点击download,下载完会显示驱动包
![](https://filescdn.proginn.com/7f5c027217388539c8e2f6755b9007a7/d6b2b7c35a47840e6ce5a069e3171fa5.webp)
![](https://filescdn.proginn.com/4d8b58c56f53d7d5a8b96fd64c93220a/87db29e89fed5bc8458915d634a9a7df.webp)
如果下载的驱动有问题,可以手动添加本地驱动包,在试用过程中,创建Oracle连接时,下载的驱动包就有问题,提示缺少class,点击右侧绿色的+号,选择本地下载好的jar包,通过右侧上下箭头,将导入的jar包移到最上位置就OK了
![](https://filescdn.proginn.com/da64c0e4f1a4200d686470f0817c1429/d71860a8ffd7d92e8b29d999f1a64352.webp)
点击Test Connection,查看配置是否正确,接下来就可以使用了。
打开DataGrip,选择File->Settings,当前面板显示了常用设置项
![](https://filescdn.proginn.com/cbfc94ebb2249a2b0973e0c44c7769d2/d99abc3bf3ad9d4980674b681f069572.webp)
基本上默认设置就足够了,要更改设置也很简单,左侧菜单已经分类好了,第一项是数据库相关的配置,第二项是配置外观的,在这里可以修改主题,key map修改快捷键,editor配置编辑器相关设置,在这里可以修改编辑器字体,展开edit项,Editor->Color & Fonts->Font
![](https://filescdn.proginn.com/ea140c128f5a215f06dc98c650a21ab8/3342168f4845560671399a5d8d5e288d.webp)
需要将当前主题保存一下,点击save as,起个名,选择重命名后的主题就能修改了,这里我选择习惯的Conurier New字体,大小为14号,点击右下角的apply,点击OK
![](https://filescdn.proginn.com/9e44feea8e8a139d37bced46cfcb4d96/b16f2330565e7b1f11399e9d037cc178.webp)
其他的没啥好设置的了。
接下来,我们来使用DataGrip完成数据库的常用操作,包括查询数据、修改数据,创建数据库、表等。
![](https://filescdn.proginn.com/c482481604a129a2e66ced743722124c/c6542c4a56159d3c9c013d051ab96435.webp)
左上区域显示了当前数据库连接,展开后会显示数据库表等信息,如果展开后没有任何信息,需要选中数据库连接,点击上面的旋转图标同步一下,下方有个More Schema选项,点击可以切换不同的schema。
右键选中的数据库连接,选择open console,就可以在右侧的控制台中书写sql语句了。
![](https://filescdn.proginn.com/2c79d306883500c5744c3fe0d651dbd1/739d7c9e2caa6893ce41cf1e6e238024.webp)
DataGrip的智能提示非常爽,无论是标准的sql关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA的智能提示也是秒杀eclipse。
写完sql语句后,可以选中,电子左上侧绿色箭头执行
![](https://filescdn.proginn.com/9ed44f3aa55d66dd401b201078cdd064/5171c72c1d7a64f852a6788d3c5a925f.webp)
也可以使用快捷键Ctrl+Enter,选中情况下,会直接执行该sql,未选中情况下,如果控制台中有多条sql,会提示你要执行哪条sql。之前习惯了dbvisualizer中的操作,dbvisualizer中光标停留在当前sql上(sql以分号结尾),按下Ctrl+.快捷键会自动执行当前sql,其实DataGrip也能设置,在setting->Database-General中
![](https://filescdn.proginn.com/e6508780e31737a99687b09df6bf62f9/163f73f4430fdd60b9c92cd2e06d74c3.webp)
语句执行时默认是提示,改成smallest statement后,光标停留在当前语句时,按下Ctrl+Enter就会直接执行当前语句。
语句的执行结果在底部显示
![](https://filescdn.proginn.com/c0f8064767a2f3451e1d7d805cae2601/4e1b697ec20b43e9074e3e86bdacffb6.webp)
如果某列的宽度太窄,可以鼠标点击该列的任意一个,使用快捷键Ctrl+Shift+左右箭头可以调整宽度,如果要调整所有列的宽度,可以点击左上角红框部分,选择所有行,使用快捷键Ctrl+Shift+左右箭头调整
添加行、删除行也很方便,上部的+、-按钮能直接添加行或删除选中的行,编辑列同样也很方便,双击要修改的列,输入修改后的值,鼠标在其他部分点击就完成修改了
![](https://filescdn.proginn.com/30315e1194c4ae29d17234322fac1786/85492366d3f7cd9453508a2b2c4f91dd.webp)
有的时候我们要把某个字段置为null,不是空字符串"",DataGrip也提供了渐变的操作,直接在列上右键,选择set null
![](https://filescdn.proginn.com/ebc2240dd4c4b06ea6a496cb8fb5afde/cea16b88531ee6a0dcce883d04521aca.webp)
对于需要多窗口查看结果的,即希望查询结果在新的tab中展示,可以点击pin tab按钮,那新查询将不会再当前tab中展示,而是新打开一个tab
![](https://filescdn.proginn.com/64ce54206873eec53261632385a33e77/86ae69d1f7a71590ac8807531be16a29.webp)
旁边的output控制台显示了执行sql的日志信息,能看到sql执行的时间等信息
![](https://filescdn.proginn.com/2f1e454cc0ac3e7e696a37d90943824d/9719701ba521dacbfab19c0809e9bf33.webp)
我就问这么吊的工具,还有谁!!!
要新建表也是相当简单、智能,选中数据库连接,点击绿色+号下选择table
![](https://filescdn.proginn.com/f6af8baa16d0b5be613457563a723cfa/dc2f737f3340f0965ce8cbed786d6c3a.webp)
在新打开的窗口中,可以填写表信息
![](https://filescdn.proginn.com/576385fa35530cb6473421d7d1a88e97/b9d008cd364acea30660746effe043a7.webp)
我就问你看到这个窗口兴奋不兴奋!!!
顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型type也是能自动补全,default右侧的消息框图标点击后能对列添加注释,旁边的几个tab可以设置索引及外键 。关注公众号:Java后端编程,回复Java,获取学习资料 。
所有这些操作的DDL都会直接在底部显示
![](https://filescdn.proginn.com/ff5fbc2aa490e14344130aaea6eaf5ef/129ee2db5bab14e73e89624f00649266.webp)
我就问你怕不怕
表建完后,可以点击下图中的table图标,打开表查看视图
![](https://filescdn.proginn.com/5900cb88359c2d5b028db7b26de8bcc9/5a6205fc297a40d1a8696daf2533ab58.webp)
可以查看表的数据,也能查看DDL语句
这些基本功能的设计、体验,已经惊艳到我了,接下来就是数据的导出。
DataGrip的导出功能也是相当强大
选择需要导出数据的表,右键,Dump Data To File
![](https://filescdn.proginn.com/ca1ac617083a5d8b377961598d9e49b3/d0e8217f600e859401e7278fde5abc97.webp)
即可以导出insert、update形式的sql语句,也能导出为html、csv、json格式的数据
也可以在查询结果视图中导出
![](https://filescdn.proginn.com/92fe408a80bb53c231e0b671b14006ea/59f17ca066a82a317f91900acc00cac1.webp)
点击右上角下载图标,在弹出窗口中可以选择不同的导出方式,如sql insert、sql update、csv格式等
![](https://filescdn.proginn.com/9dfd1bbcc647d1ebf252243e4bd2a957/87f9c840c3187ecf756ee5cd264ef0bb.webp)
如果是导出到csv格式,还能控制导出的格式
![](https://filescdn.proginn.com/205900a9f9ed348ae78f1f4174716a1e/051cf7c83eeb7cc549f23d1a3b73ca9e.webp)
导出后用excel打开是这种结果
![](https://filescdn.proginn.com/8510ce95a1e3a397a8b2c7ce877ef080/dcf6794af2a0d58f25155503335cc2b5.webp)
除了能导出数据外,还能导入数据
选择表,右键->Import from File,选择要导入的文件
![](https://filescdn.proginn.com/6f80e740db03f33cc3c99a1790a16b0d/92627bbf46489ecc4a8ed9d9ecaa3c2c.webp)
注意,导出的时候如果勾选了左侧的两个header选项,导入的时候如果有header,也要勾选,不然会提示列个数不匹配
「1、关键字导航:」
当在datagrip的文本编辑区域编写sql时,按住键盘Ctrl键不放,同时鼠标移动到sql关键字上,比如表名、字段名称、或者是函数名上,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象
![](https://filescdn.proginn.com/ebbb70064b5de38364f097205da5e193/e2ce528353b8ba44b2ade92bc810087b.webp)
「2、快速导航到指定的表、视图、函数等:」
在datagrip中,使用Ctrl+N快捷键,弹出一个搜索框,输入需要导航的名称,回车即可
![](https://filescdn.proginn.com/cc649761a8a22c8080d5f33321adc46e/61d4755aaa843041a5dcc834871283ab.webp)
「3、全局搜索」
连续两次按下shift键,或者鼠标点击右上角的搜索图标,弹出搜索框,搜索任何你想搜索的东西
![](https://filescdn.proginn.com/a2dc9f300053d6959658e43a5e9778b6/a705df2fbb729d57f387f263d1110a45.webp)
「4、结果集搜索」
在查询结果集视图区域点击鼠标,按下Ctrl+F快捷键,弹出搜索框,输入搜索内容,支持正则表达式、过滤结果
![](https://filescdn.proginn.com/2e29cd97861b95d1c7e9b22c217e5d8b/e32a4df3697f0e61505ade61faad4556.webp)
「5、导航到关联数据」
表之间会有外检关联,查询的时候,能直接定位到关联数据,或者被关联数据,例如user1表有个外检字段classroom指向classroom表的主键id,在查询classroom表数据的时候,可以在id字段上右键,go to,referencing data
![](https://filescdn.proginn.com/943dd5e75ad08e2502cd73cd38a2a058/6162a1e5a2d1573c7f6e90748d50b2c6.webp)
选择要显示第一条数据还是显示所有数据
![](https://filescdn.proginn.com/1e6b5e74d0e82dff805c8f3a2d3ea22a/e6bc723eab8eea8cb432a8e0aea0443f.webp)
会自动打开关联表的数据
![](https://filescdn.proginn.com/a3725b08eba035129596aff720fc1928/54d014fc99da343f906b653e1b5a5d1d.webp)
相反,查询字表的数据时,也能自动定位到父表
「6、结果集数据过滤」
对于使用table edit(对象树中选中表,右键->table editor)打开的结果集,可以使用条件继续过滤结果集,如下图所示,可以在结果集左上角输入款中输入where条件过滤
![](https://filescdn.proginn.com/39c4ec18f5efb6d25cf8098b041f60b6/6059c871fb102b433d67af3cf906c7fe.webp)
也可以对着需要过滤数据的列右键,filter by过滤
![](https://filescdn.proginn.com/47b677fe459d5020573d5437472e0933/c97057d90133b016917498ff11f4a419.webp)
「7、行转列」
对于字段比较多的表,查看数据要左右推动,可以切换成列显示,在结果集视图区域使用Ctrl+Q快捷键
![](https://filescdn.proginn.com/0a2bba193a25ef3b900368cb1d5efe18/89872d7579f5fcc81c950eeaca0f264e.webp)
1、变量重命名
鼠标点击需要重命名的变量,按下Shift+F6快捷键,弹出重命名对话框,输入新的名称
![](https://filescdn.proginn.com/8e8af83c86d83a4e35223d1c30333a2e/16207bf8af4ffcc1c7eb308bcff8259d.webp)
2、自动检测无法解析的对象
如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段
![](https://filescdn.proginn.com/cef36aaa50694c6e99966d2d3c46fd4e/a17798f8a21ab71830cbae529f428d8d.webp)
3、权限定字段名
对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip能自动添加前缀,鼠标停留在需要添加别名前缀的字段上,使用Alt+Enter快捷键
![](https://filescdn.proginn.com/eac46ac013ed40143fdd114368111798/29af942c62bcc6de05719418d52cc0e1.webp)
4、*
通配符自动展开
查询的时候我们会使用select _查询所有列,这是不好的习惯,datagrip能快速展开列,光标定位到_后面,按下Alt+Enter快捷键
![](https://filescdn.proginn.com/47a43be0d2e91db8fe280cab5712c941/0fd69eff5aa2a0326713ddb17c984d8d.webp)
5、大写自动转换
sql使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上,使用Ctrl+shift+U快捷键自动转换
6、sql格式化
选中需要格式化的sql代码,使用Ctrl+Alt+L快捷键
「datagrip提供了一个功能强大的编辑器,实现了notpad++的列编辑模式」
1、多光标模式
在编辑sql的时候,可能需要同时输入或同时删除一些字符,按下alt+shift,同时鼠标在不同的位置点击,会出现多个光标
![](https://filescdn.proginn.com/a6ff40605472359e79b24c89573ccb6e/ef90b9722b40915be5496c4dcd501953.webp)
2、代码注释
选中要注释的代码,按下Ctrl+/或Ctrl+shift+/快捷键,能注释代码,或取消注释
![](https://filescdn.proginn.com/1b7ec97365642d8e313d728a1de64efd/2695fec84dc30d095b8079315112b886.webp)
3、列编辑
按住键盘Alt键,同时按下鼠标左键拖动,能选择多列,拷贝黏贴等操作
![](https://filescdn.proginn.com/16300cf9e29debc59d88d63ca4546e56/172a2cd09d1586757d1d3db8423b0379.webp)
4、代码历史
在文本编辑器中,邮件,local history,show history,可以查看使用过的sql历史
![](https://filescdn.proginn.com/b699b08c2c734456fe8f77d91d7bbccf/b6d16c15841aff0485a6b4a37cec9e2b.webp)
命令历史
![](https://filescdn.proginn.com/98033e12741e33c33e57f3b65fb9ad81/363edf92727adb4b366b493ffe5620cf.webp)
往期推荐
SpringBoot+Vue 完整的外卖系统,手机端和后台管理,附源码!
带工作流的SpringBoot后台管理项目,一个企业级快速开发解决方案
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。 获取方式:关注公众号并回复 java 领取,更多内容陆续奉上。 明天见(。・ω・。)ノ♡