查看原文
其他

IDEA 官方数据库管理神器,比 Navicat 还香?

Atzuge 石杉的架构笔记 2023-02-25

「 关注“石杉的架构笔记”,大厂架构经验倾囊相授 」

文章来源:https://www.cnblogs.com/zuge/p/7397255.html

目录
  • 下载
  • 配置 Data Source
  • 常用设置
  • 数据库常用操作
  • 小技巧


前言


最近被同事安利了一款数据库客户端工具: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,安装完成后,启动,界面如下




配置 Data Source





相信使用过 IDEA 的同学看到这个界面都会感到很亲切。File->DataSource :配置数据源。

DataGrip 支持主流的数据库。你也可以在 Database 视图中展开绿色的+号,添加数据库连接

选择需要连接的数据库类型

在面板中,左上部分列出了已经建立的数据库连接,点击各项,右侧会展示当前连接的配置信息,General 面板中,可以配置数据库连接的信息,如主机、用户名、密码等,不同数据库配置信息不完全相同,填入数据库 URL,注意,URL 后有个选项,可以选择直接填入 url,那么就不需要单独填主机名、端口等信息了。

Driver 部分显示数据库驱动信息,如果还没有下载过驱动,底部会有个警告,提示缺少驱动

点击 Driver 后的数据库类型,会跳转到驱动下载页面,点击 download,下载完会显示驱动包


如果下载的驱动有问题,可以手动添加本地驱动包,在试用过程中,创建 Oracle 连接时,下载的驱动包就有问题,提示缺少 class,点击右侧绿色的+号,选择本地下载好的 jar 包,通过右侧上下箭头,将导入的 jar 包移到最上位置就 OK 了

点击 Test Connection,查看配置是否正确,接下来就可以使用了。



常用设置





打开 DataGrip,选择 File->Settings,当前面板显示了常用设置项

基本上默认设置就足够了,要更改设置也很简单,左侧菜单已经分类好了,第一项是数据库相关的配置,第二项是配置外观的,在这里可以修改主题,key map 修改快捷键,editor 配置编辑器相关设置,在这里可以修改编辑器字体,展开 edit 项: Editor->Color & Fonts->Font

需要将当前主题保存一下,点击 save as,起个名,选择重命名后的主题就能修改了,这里我选择习惯的 Conurier New 字体,大小为 14 号,点击右下角的 apply,点击 OK

其他的没啥好设置的了。



数据库常用操作





接下来,我们来使用 DataGrip 完成数据库的常用操作,包括查询数据、修改数据,创建数据库、表等。

左上区域显示了当前数据库连接,展开后会显示数据库表等信息,如果展开后没有任何信息,需要选中数据库连接,点击上面的旋转图标同步一下,下方有个 More Schema 选项,点击可以切换不同的 schema。


sql 语句编写


右键选中的数据库连接,选择 open console,就可以在右侧的控制台中书写 sql 语句了。

DataGrip 的智能提示非常爽,无论是标准的 sql 关键字,还是表名、字段名,甚至数据库特定的字段,都能提示,不得不感叹这智能提示太强大了,Intellij IDEA 的智能提示也是秒杀 eclipse。

写完 sql 语句后,可以选中,电子左上侧绿色箭头执行

也可以使用快捷键 Ctrl+Enter,选中情况下,会直接执行该 sql,未选中情况下,如果控制台中有多条 sql,会提示你要执行哪条 sql。

之前习惯了 dbvisualizer 中的操作,dbvisualizer 中光标停留在当前 sql 上(sql 以分号结尾),按下Ctrl+.快捷键会自动执行当前 sql,其实 DataGrip 也能设置,在 setting->Database-General

语句执行时默认是提示,改成 smallest statement 后,光标停留在当前语句时,按下 Ctrl+Enter 就会直接执行当前语句。

语句的执行结果在底部显示

如果某列的宽度太窄,可以鼠标点击该列的任意一个,使用快捷键Ctrl+Shift+左右箭头可以调整宽度,如果要调整所有列的宽度,可以点击左上角红框部分,选择所有行,使用快捷键Ctrl+Shift+左右箭头调整


修改数据


添加行、删除行也很方便,上部的+、-按钮能直接添加行或删除选中的行,编辑列同样也很方便,双击要修改的列,输入修改后的值,鼠标在其他部分点击就完成修改了

有的时候我们要把某个字段置为 null,不是空字符串"",DataGrip 也提供了渐变的操作,直接在列上右键,选择 set null

对于需要多窗口查看结果的,即希望查询结果在新的 tab 中展示,可以点击 pin tab 按钮,那新查询将不会再当前 tab 中展示,而是新打开一个 tab

旁边的 output 控制台显示了执行 sql 的日志信息,能看到 sql 执行的时间等信息

我就问这么吊的工具,还有谁!!!


新建表


要新建表也是相当简单、智能,选中数据库连接,点击绿色+号下选择 table

在新打开的窗口中,可以填写表信息

我就问你看到这个窗口兴奋不兴奋!!!

顶部可以填写表名、表注释,中间可以点击右侧绿色+号添加列,列类型 type 也是能自动补全,default 右侧的消息框图标点击后能对列添加注释,旁边的几个 tab 可以设置索引及外键

所有这些操作的 DDL 都会直接在底部显示

我就问你怕不怕

表建完后,可以点击下图中的 table 图标,打开表查看视图

可以查看表的数据,也能查看 DDL 语句


数据库导出


这些基本功能的设计、体验,已经惊艳到我了,接下来就是数据的导出。

DataGrip 的导出功能也是相当强大

选择需要导出数据的表,右键,Dump Data To File

即可以导出 insert、update 形式的 sql 语句,也能导出为 html、csv、json 格式的数据

也可以在查询结果视图中导出

点击右上角下载图标,在弹出窗口中可以选择不同的导出方式,如 sql insert、sql update、csv 格式等

如果是导出到 csv 格式,还能控制导出的格式

导出后用 excel 打开是这种结果

除了能导出数据外,还能导入数据

选择表,右键->Import from File,选择要导入的文件

注意,导出的时候如果勾选了左侧的两个 header 选项,导入的时候如果有 header,也要勾选,不然会提示列个数不匹配



小技巧





导航+全局搜索


关键字导航

当在 datagrip 的文本编辑区域编写 sql 时,按住键盘 Ctrl 键不放,同时鼠标移动到 sql 关键字上,比如表名、字段名称、或者是函数名上,鼠标会变成手型,关键字会变蓝,并加了下划线,点击,会自动定位到左侧对象树,并选中点击的对象

快速导航到指定的表、视图、函数等

在 datagrip 中,使用 Ctrl+N 快捷键,弹出一个搜索框,输入需要导航的名称,回车即可

全局搜索

连续两次按下 shift 键,或者鼠标点击右上角的搜索图标,弹出搜索框,搜索任何你想搜索的东西

结果集搜索

在查询结果集视图区域点击鼠标,按下 Ctrl+F 快捷键,弹出搜索框,输入搜索内容,支持正则表达式、过滤结果

导航到关联数据

表之间会有外检关联,查询的时候,能直接定位到关联数据,或者被关联数据,例如 user1 表有个外检字段 classroom 指向 classroom 表的主键 id,在查询 classroom 表数据的时候,可以在 id 字段上右键,go to,referencing data

选择要显示第一条数据还是显示所有数据

会自动打开关联表的数据

相反,查询字表的数据时,也能自动定位到父表


数据转换


结果集数据过滤

对于使用 table edit(对象树中选中表,右键->table editor)打开的结果集,可以使用条件继续过滤结果集,如下图所示,可以在结果集左上角输入款中输入 where 条件过滤

也可以对着需要过滤数据的列右键,filter by 过滤

行转列

对于字段比较多的表,查看数据要左右推动,可以切换成列显示,在结果集视图区域使用 Ctrl+Q 快捷键

变量重命名

鼠标点击需要重命名的变量,按下 Shift+F6 快捷键,弹出重命名对话框,输入新的名称

自动检测无法解析的对象

如果表名、字段名不存在,datagrip 会自动提示,此时对着有问题的表名或字段名,按下 Alt+Enter,会自动提示是否创建表或添加字段

权限定字段名

对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip 能自动添加前缀,鼠标停留在需要添加别名前缀的字段上,使用 Alt+Enter 快捷键



格式化


*通配符自动展开

查询的时候我们会使用 select 查询所有列,这是不好的习惯,datagrip 能快速展开列,光标定位到 *  后面,按下 Alt+Enter 快捷键

大写自动转换

sql 使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上,使用 Ctrl+shift+U 快捷键自动转换

sql 格式化

选中需要格式化的 sql 代码,使用 Ctrl+Alt+L 快捷键

datagrip 提供了一个功能强大的编辑器,实现了 notpad++的列编辑模式



列编辑


多光标模式

在编辑 sql 的时候,可能需要同时输入或同时删除一些字符,按下 alt+shift,同时鼠标在不同的位置点击,会出现多个光标

代码注释

选中要注释的代码,按下 Ctrl+/或 Ctrl+shift+/快捷键,能注释代码,或取消注释

列编辑

按住键盘 Alt 键,同时按下鼠标左键拖动,能选择多列,拷贝黏贴等操作



历史记录


代码历史

在文本编辑器中,邮件,local history,show history,可以查看使用过的 sql 历史

命令历史


欢迎扫码加入儒猿技术交流群,每天晚上20:00都有Java面试、Redis、MySQL、RocketMQ、SpringCloudAlibaba、Java架构等技术答疑分享,更能跟小伙伴们一起交流技术


另外推荐儒猿课堂的1元系列课程给您,欢迎加入一起学习~


互联网Java工程师面试突击课(1元专享)

SpringCloudAlibaba零基础入门到项目实战(1元专享)

亿级流量下的电商详情页系统实战项目(1元专享)

Kafka消息中间件内核源码精讲(1元专享)

12个实战案例带你玩转Java并发编程(1元专享)

Elasticsearch零基础入门到精通(1元专享)

基于Java手写分布式中间件系统实战(1元专享)

基于ShardingSphere的分库分表实战课(1元专享)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存