发现一款好用到爆的数据库工具,被惊艳到了!
作者:atzuge
链接:https://www.cnblogs.com/zuge/p/7397255.html
最近被同事案例了一款数据库客户端工具:DataGrip,大爱!
其实,这个标题的话肯定会引出一些杠精,为了不给杠精留机会,多做一点说明:Navicat 和 DataGrip 都是非常优秀的数据管理工具,各有所长,这里就不做对比了!你喜欢什么样的风格用什么样的产品,就我个人而言更喜欢 DataGrip 一些。 把杠精安排的明明白白!
DataGrip 版是由 JetBrains 公司(就是那个出品 Intellij IDEA 的公司)推出的数据库管理软件。如果你不爱折腾的话,这家公司出品的很多 IDE 都是你的最佳选择,比如你进行 Python 开发的可以选择 JetBrains 全家桶中的 PyCharm 。
DataGrip 支持几乎所有主流的关系数据库产品,如 DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite 及 Sybase 等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
我相信,当你第一眼看到 DataGrip 以后,会有一种惊艳的感觉,就好比你第一眼看到一个姑娘,就是那么一瞥,你对自己说,就是她了!废话不多说,来看看 DataGrip 的常用功能。
下载
DataGrip 下载链接如下 https://www.jetbrains.com/datagrip/download。安装过程也很简单,双击安装,下一步,中间会让你选择主题,本人选择的是经典的 Darcula,安装完成后,启动,界面如下
![](https://filescdn.proginn.com/6886ecb3b8aef214a87349bbd6fd8a4b/ee07d5fd956cccfbc8af28ccd35fad74.webp)
配置 Data Source
相信使用过 IDEA 的同学看到这个界面都会感到很亲切。File->DataSource
:配置数据源。
![](https://filescdn.proginn.com/1dfb93a6abe59bef64c0fc5c981ca8fc/269c074e1f35f683c3f334ad94ae1019.webp)
DataGrip 支持主流的数据库。你也可以在 Database 视图中展开绿色的+号,添加数据库连接
![](https://filescdn.proginn.com/c338fb9f04287fd5e4f3941b6fb52b8d/98a922f2e3b4e788aa31a8ba6e88fc10.webp)
选择需要连接的数据库类型
![](https://filescdn.proginn.com/b7a2202fdec3822c7dcf3c956cb30abd/12cee0cd6dcc6655cb424736490bb31f.webp)
在面板中,左上部分列出了已经建立的数据库连接,点击各项,右侧会展示当前连接的配置信息,General 面板中,可以配置数据库连接的信息,如主机、用户名、密码等,不同数据库配置信息不完全相同,填入数据库 URL,注意,URL 后有个选项,可以选择直接填入 url,那么就不需要单独填主机名、端口等信息了。
Driver 部分显示数据库驱动信息,如果还没有下载过驱动,底部会有个警告,提示缺少驱动
![](https://filescdn.proginn.com/412672949702646f78a6ba1f9417d9dc/a1e877a6bfac8b1b18516e875d41ac66.webp)
点击 Driver 后的数据库类型,会跳转到驱动下载页面,点击 download,下载完会显示驱动包
![](https://filescdn.proginn.com/6c69d1d4807eeb7c0299f04be48e935d/b11046dc4f55e04f9ec349132ebedeb0.webp)
![](https://filescdn.proginn.com/833626df9fc7da47501e58c9ed4b01ee/6bbeb5e53b166cc67abc5bc3cb37b30d.webp)
如果下载的驱动有问题,可以手动添加本地驱动包,在试用过程中,创建 Oracle 连接时,下载的驱动包就有问题,提示缺少 class,点击右侧绿色的+号,选择本地下载好的 jar 包,通过右侧上下箭头,将导入的 jar 包移到最上位置就 OK 了
![](https://filescdn.proginn.com/2ed1dba5ecdccce9cd2853fdedc2a9ef/7d310d540a9abf8792174bb2fab24483.webp)
点击 Test Connection,查看配置是否正确,接下来就可以使用了。
常用设置
打开 DataGrip,选择 File->Settings
,当前面板显示了常用设置项
![](https://filescdn.proginn.com/f16b907df4a509c6aec0a4250ccbbd98/b00a1fd044bf56caf951a49cde80674a.webp)
基本上默认设置就足够了,要更改设置也很简单,左侧菜单已经分类好了,第一项是数据库相关的配置,第二项是配置外观的,在这里可以修改主题,key map 修改快捷键,editor 配置编辑器相关设置,在这里可以修改编辑器字体,展开 edit 项:
Editor->Color & Fonts->Font
![](https://filescdn.proginn.com/f12dc3fcfab60037e1a35c43e654dff1/890e9b069aa1660aa22eb0ef5a0522db.webp)
需要将当前主题保存一下,点击 save as,起个名,选择重命名后的主题就能修改了,这里我选择习惯的 Conurier New 字体,大小为 14 号,点击右下角的 apply,点击 OK
![点击查看原始大小图片](https://filescdn.proginn.com/9317b390fe9b4f52c9ab54043f8cf05d/1b8e95fb370d2b51a6f3301273a7953f.webp)
其他的没啥好设置的了。
数据库常用操作
接下来,我们来使用 DataGrip 完成数据库的常用操作,包括查询数据、修改数据,创建数据库、表等。
![点击查看原始大小图片](https://filescdn.proginn.com/ee4a2214c66c9ae7838f556ad9508dd5/edd18a0553b30bda599e48da2900ac6f.webp)
左上区域显示了当前数据库连接,展开后会显示数据库表等信息,如果展开后没有任何信息,需要选中数据库连接,点击上面的旋转图标同步一下,下方有个 More Schema 选项,点击可以切换不同的 schema。
sql 语句编写
右键选中的数据库连接,选择 open console,就可以在右侧的控制台中书写 sql 语句了。
![img](https://filescdn.proginn.com/e530c83d8f66b1f047e8eb12cdbe31cb/09b9037f6e89a8e872cb262b309e1fd2.webp)
DataGrip 的智能提示非常爽,无论是标准的 sql 关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA 的智能提示也是秒杀 eclipse。
写完 sql 语句后,可以选中,电子左上侧绿色箭头执行
![](https://filescdn.proginn.com/67b90687a01e1e8782b5afaad266734f/05774fbaa996fee2313158d27f5f3c95.webp)
也可以使用快捷键
Ctrl+Enter
,选中情况下,会直接执行该 sql,未选中情况下,如果控制台中有多条 sql,会提示你要执行哪条 sql。之前习惯了 dbvisualizer 中的操作,dbvisualizer 中光标停留在当前 sql 上(sql 以分号结尾),按下Ctrl+.
快捷键会自动执行当前 sql,其实 DataGrip 也能设置,在 setting->Database-General
中
![](https://filescdn.proginn.com/0417e8d711f9414224079cf06b412b31/e7811a2dc25262c8ea5e4208ca0cfbe5.webp)
语句执行时默认是提示,改成 smallest statement 后,光标停留在当前语句时,按下 Ctrl+Enter 就会直接执行当前语句。
语句的执行结果在底部显示
![](https://filescdn.proginn.com/2cc0e2f036c8fadf43a526ed164c249e/b408a7030fd4b2a48bb03bdc787d53bc.webp)
如果某列的宽度太窄,可以鼠标点击该列的任意一个,使用快捷键
Ctrl+Shift+左右箭头
可以调整宽度,如果要调整所有列的宽度,可以点击左上角红框部分,选择所有行,使用快捷键Ctrl+Shift+左右箭头调整
修改数据
添加行、删除行也很方便,上部的+、-按钮能直接添加行或删除选中的行,编辑列同样也很方便,双击要修改的列,输入修改后的值,鼠标在其他部分点击就完成修改了
![](https://filescdn.proginn.com/ae410cf0bfd097432bfbee2359028b88/cc6c2c2b91db44f8682cb0967c2c9268.webp)
有的时候我们要把某个字段置为 null,不是空字符串"",DataGrip 也提供了渐变的操作,直接在列上右键,选择 set null
![](https://filescdn.proginn.com/c126fbd7ff282fbba8c73e4c7fc2fde5/20cab2c79e737bbe32118dc7bdbd1d5d.webp)
对于需要多窗口查看结果的,即希望查询结果在新的 tab 中展示,可以点击 pin tab 按钮,那新查询将不会再当前 tab 中展示,而是新打开一个 tab
![](https://filescdn.proginn.com/67288c5afd91ab46e50257644bfa7889/29774c25a410be8d96e2227cc41290e2.webp)
旁边的 output 控制台显示了执行 sql 的日志信息,能看到 sql 执行的时间等信息
![](https://filescdn.proginn.com/c33c81773759ab19fcd5dcaddcd3a4b3/c86dcaa741e5e26da602a604ac37ff62.webp)
我就问这么吊的工具,还有谁!!!
新建表
要新建表也是相当简单、智能,选中数据库连接,点击绿色+号下选择 table
![](https://filescdn.proginn.com/408a8835def5e62b1d21a57c8e2efb3d/a9793175632eaacf027fb032680c3569.webp)
在新打开的窗口中,可以填写表信息
![](https://filescdn.proginn.com/fb3f22daf5a762f183f75442c8ff46ea/b96cfa82f60cd65529b667d62f4fe0cc.webp)
我就问你看到这个窗口兴奋不兴奋!!!
顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型 type 也是能自动补全,default 右侧的消息框图标点击后能对列添加注释,旁边的几个 tab 可以设置索引及外键
所有这些操作的 DDL 都会直接在底部显示
![](https://filescdn.proginn.com/88f5962989a2628f4280255ebcd6c4d5/c0f07cffc89ece568a589340d1a916ed.webp)
我就问你怕不怕
表建完后,可以点击下图中的 table 图标,打开表查看视图
![](https://filescdn.proginn.com/ea5c4dcc9c272d8f74398468b4945c0e/c10087395cb11d1f7349a94cb4f21dd5.webp)
可以查看表的数据,也能查看 DDL 语句
数据库导出
这些基本功能的设计、体验,已经惊艳到我了,接下来就是数据的导出。
DataGrip 的导出功能也是相当强大
选择需要导出数据的表,右键,Dump Data To File
![](https://filescdn.proginn.com/3444c476bda5d3ed8773a0dd5596ad82/0c49be8d4536a3d7094e27203ae2b29e.webp)
即可以导出 insert、update 形式的 sql 语句,也能导出为 html、csv、json 格式的数据
也可以在查询结果视图中导出
![](https://filescdn.proginn.com/15ec410b36aa0148661a58421abfe17f/0575c5607a01a9f640a75a98ffc174d3.webp)
点击右上角下载图标,在弹出窗口中可以选择不同的导出方式,如 sql insert、sql update、csv 格式等
![](https://filescdn.proginn.com/c5e0137e35483f9f18abdefa13b46dd3/3338488849588b7c74c6c6c2f32136c2.webp)
如果是导出到 csv 格式,还能控制导出的格式
![](https://filescdn.proginn.com/ddb2e84166005ddd4b820861beed6927/2ebdbafd8c0c9f1d16381c38d8bd2551.webp)
导出后用 excel 打开是这种结果
![](https://filescdn.proginn.com/dbe7efe60021a99c3406eb4fd44e48e0/c597ec60743ab1599640da2cb96db8b7.webp)
除了能导出数据外,还能导入数据
选择表,右键->Import from File,选择要导入的文件
![](https://filescdn.proginn.com/6bf8c22d28aa9e0342decf183a60dfc5/82a2a579c5bd1e645a1d8f41875a8de4.webp)
注意,导出的时候如果勾选了左侧的两个 header 选项,导入的时候如果有 header,也要勾选,不然会提示列个数不匹配
小技巧
导航+全局搜索
关键字导航
当在 datagrip 的文本编辑区域编写 sql 时,按住键盘 Ctrl 键不放,同时鼠标移动到 sql 关键字上,比如表名、字段名称、或者是函数名上,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象
![](https://filescdn.proginn.com/5790d77289c812a793292cadbd0ba32d/686fa34d32fa6d986028a2482acdba39.webp)
快速导航到指定的表、视图、函数等
在 datagrip 中,使用 Ctrl+N 快捷键,弹出一个搜索框,输入需要导航的名称,回车即可
![](https://filescdn.proginn.com/139d61d5493896829fcecb29130f5045/cfeb82f28d9ab8381ecd940ae1a7030c.webp)
全局搜索
连续两次按下 shift 键,或者鼠标点击右上角的搜索图标,弹出搜索框,搜索任何你想搜索的东西
![](https://filescdn.proginn.com/bbe766440712f7dd447bbaa8789193dd/f1475b61adc2f29b983ed3093739b55a.webp)
结果集搜索
在查询结果集视图区域点击鼠标,按下 Ctrl+F 快捷键,弹出搜索框,输入搜索内容,支持正则表达式、过滤结果
![](https://filescdn.proginn.com/51e3b335298ed54b84e4940d60342836/c6b03d3dbb84c545cb8ce52360570e98.webp)
导航到关联数据
表之间会有外检关联,查询的时候,能直接定位到关联数据,或者被关联数据,例如 user1 表有个外检字段 classroom 指向 classroom 表的主键 id,在查询 classroom 表数据的时候,可以在 id 字段上右键,go to,referencing data
![](https://filescdn.proginn.com/0fcfc7d3420788da449f356c81a1b576/2fd2c3328f658d82b9230703a61a15a6.webp)
选择要显示第一条数据还是显示所有数据
![](https://filescdn.proginn.com/d66494dc6a3c28f9f4b026cd7e58a339/bbe766440712f7dd447bbaa8789193dd.webp)
会自动打开关联表的数据
![](https://filescdn.proginn.com/5efb15354e2d1c062633a7200c276746/9ae79acd2537dbc5ed5cb6432e8563c6.webp)
相反,查询字表的数据时,也能自动定位到父表
数据转换
结果集数据过滤
对于使用 table edit(对象树中选中表,右键->table editor)打开的结果集,可以使用条件继续过滤结果集,如下图所示,可以在结果集左上角输入款中输入 where 条件过滤
![](https://filescdn.proginn.com/bcb599d046afbe17c15b573d492c0d26/c898a3a4e3b94391dac9caba44bbbb33.webp)
也可以对着需要过滤数据的列右键,filter by 过滤
![](https://filescdn.proginn.com/fb62dcb86cfce8d0865e80a9f711fb59/978fc0317047d8b7317606f137f8204c.webp)
行转列
对于字段比较多的表,查看数据要左右推动,可以切换成列显示,在结果集视图区域使用 Ctrl+Q 快捷键
![](https://filescdn.proginn.com/e73cd87db03828998e38158d63c5b8f7/3d9fdccedbb003bd4f0ccc3b18041f45.webp)
变量重命名
鼠标点击需要重命名的变量,按下 Shift+F6 快捷键,弹出重命名对话框,输入新的名称
![](https://filescdn.proginn.com/72eedd1232818aeb0ad65cdd39b08734/70a1085d9557869c5ef442ae4978dd46.webp)
自动检测无法解析的对象
如果表名、字段名不存在,datagrip 会自动提示,此时对着有问题的表名或字段名,按下 Alt+Enter,会自动提示是否创建表或添加字段
![](https://filescdn.proginn.com/99e23ac3d0d1f481f61e167927f551ef/0cd98f1bff35fa23805b2cbbdd952f8a.webp)
权限定字段名
对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip 能自动添加前缀,鼠标停留在需要添加别名前缀的字段上,使用 Alt+Enter 快捷键
![](https://filescdn.proginn.com/b82c3e293a16ababe0309477ec9b0283/5ab5ca5a41920cf6c19a48c0c1eee262.webp)
格式化
*通配符自动展开
查询的时候我们会使用 select 查询所有列,这是不好的习惯,datagrip 能快速展开列,光标定位到后面,按下 Alt+Enter 快捷键
![](https://filescdn.proginn.com/27bf9066ba46b8b9a7572a9f441c4364/75c7fbfdcdb94d349277325f0ff8b3a7.webp)
大写自动转换
sql 使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上,使用 Ctrl+shift+U 快捷键自动转换
sql 格式化
选中需要格式化的 sql 代码,使用 Ctrl+Alt+L 快捷键
datagrip 提供了一个功能强大的编辑器,实现了 notpad++的列编辑模式
列编辑
多光标模式
在编辑 sql 的时候,可能需要同时输入或同时删除一些字符,按下 alt+shift,同时鼠标在不同的位置点击,会出现多个光标
![](https://filescdn.proginn.com/9dee4a204270b4cd77f0a56ba424c533/48d02d5cdaec65a3af25545fe3a7b657.webp)
代码注释
选中要注释的代码,按下 Ctrl+/或 Ctrl+shift+/快捷键,能注释代码,或取消注释
![](https://filescdn.proginn.com/f218b19a5d37dcb495fb7cbce3bf295d/e5068547b792f9aaa2fdbe24eb8a07cb.webp)
列编辑
按住键盘 Alt 键,同时按下鼠标左键拖动,能选择多列,拷贝黏贴等操作
![](https://filescdn.proginn.com/f7dba50fff41984cd716c93db37dfa3f/fdf8aa953b67fb5dad51ca47bb020d73.webp)
历史记录
代码历史
在文本编辑器中,邮件,local history,show history,可以查看使用过的 sql 历史
![](https://filescdn.proginn.com/7abe5fc162fff46aa8b99653a854c654/de1fd883e298b124cffcbb67bcf99b47.webp)
命令历史
![](https://filescdn.proginn.com/65ce66be3229e032810140a048b88792/dc600c9fffc9bf42fd8601ff4cc85b7f.webp)
![](https://filescdn.proginn.com/74521061712f9cfe745a9d62f7cc5b50/7b15a52670ccfdcff532e8bdc73c77e9.webp)
![](https://filescdn.proginn.com/33682ce708d60a0a2f71b78601fd023e/b262b41c597f381d7a377a3a18fcb268.webp)
Vip电影在线无限制观看,这种网站99%的人不知道!
![](https://filescdn.proginn.com/2cbab0ea6b605083b9142fea59fdef59/9837f6108583eeae3780af2a52c80b5b.webp)
谷歌灵魂插件,98%的程序员都好评!