0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一款超级好用的数据库客户端工具

算法与数据结构 来源:博客 作者:Atzuge 2021-08-25 16:03 次阅读

作者: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,安装完成后,启动,界面如下

配置 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 语句了。

img

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 历史

命令历史

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制
    +关注

    关注

    4

    文章

    1010

    浏览量

    122618
  • 数据库
    +关注

    关注

    7

    文章

    3761

    浏览量

    64268

原文标题:发现一款好用到爆的数据库工具,被惊艳到了!

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    多维表格数据库Teable的适用场景?

    Teable多维表格数据库一款功能强大的云端数据库和协作工具,结合了电子表格的灵活性和数据库的强大功能,适用企业内部项目管理
    的头像 发表于 10-31 15:48 138次阅读

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成个NDF文件,每个NDF几百GB大小。数据库
    的头像 发表于 10-31 13:21 137次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    华纳云:MySQL初始化操作如何创建新的数据库

    要在MySQL中创建个新的数据库,可以按照以下步骤进行操作: 登录到MySQL数据库管理系统中。可以使用MySQL命令行客户端或者图形化工具
    的头像 发表于 09-04 14:30 214次阅读

    服务测试和客户端测试区别在哪

    服务测试和客户端测试是软件开发过程中的两个重要环节,它们分别针对服务器客户端的软件进行测试。本文将详细介绍服务测试和
    的头像 发表于 05-30 15:27 2688次阅读

    无法在Modustoolbox 3.2工具类别中找到客户端控制应用程序,如何解决?

    我最近从 2.4 版升级到了 MTB 3.2 版 我为 343026 BSP 添加了些示例 但我无法在工具类别中找到客户端控制应用程序。 如何才能解决问题?
    发表于 05-22 07:50

    一款适合嵌入式工程师使用的在线工具

    一款适合嵌入式工程师使用的在线工具工具有如下功能,如下图所示: 1. 报文校验功能,如下图所示 2. UDP服务测试工具:该UD
    发表于 04-09 22:20

    IZYTRONIQ测试软件介绍——管理测试设备数据库

    一款完整的用于管理和记录测试过程的数据库软件IZYTRONIQ
    的头像 发表于 01-11 11:11 382次阅读
    IZYTRONIQ测试软件介绍——管理测试设备<b class='flag-5'>数据库</b>

    适用于Linux的基于Rust的同步客户端介绍

    个简单而优雅的 GUI 同步客户端,提供双向同步。
    的头像 发表于 01-05 11:32 580次阅读
    适用于Linux的基于Rust的同步<b class='flag-5'>客户端</b>介绍

    分享一款别样的ssh客户端-PortX

    目前支持ssh的客户端有很多,比如putty、crt、xshell等,今天分享一款别样的ssh客户端-PortX,通过简单但全面的UI,PortX为您提供了纯粹的终端模拟体验。
    的头像 发表于 01-02 13:37 655次阅读
    分享<b class='flag-5'>一款</b>别样的ssh<b class='flag-5'>客户端</b>-PortX

    Navicat和DBeaver的完美替代软件!推荐4免费数据库管理工具

    navicat替代工具推荐的四免费数据库管理工具:NineData、HeidiSQL、DataGrip、phpMyAdmin。无论你是初学者还是专家,无论是轻盈易用还是功能强大,总有
    的头像 发表于 12-07 11:39 4986次阅读
    Navicat和DBeaver的完美替代软件!推荐4<b class='flag-5'>款</b>免费<b class='flag-5'>数据库</b>管理<b class='flag-5'>工具</b>

    关于JSON数据库

    如何理解JSON数据库?作为NoSQL数据库种类型,JSON数据库有哪些优势呢?JSON数据库如何运作,它为应用程序开发者带来了哪些价值
    的头像 发表于 12-06 13:46 835次阅读
    关于JSON<b class='flag-5'>数据库</b>

    MySQL数据库的url地址

    (Protocol):MySQL数据库使用的协议通常是MySQL自定义的协议,它使用TCP/IP协议在客户端和服务器之间进行通信。在URL地址中,协议通常以"mysql://"开头。 主机(Host):主机指的是
    的头像 发表于 12-06 10:58 2539次阅读

    oracle数据库的基本操作

    、创建表、插入数据、查询数据、更新数据和删除数据等。 首先,连接到Oracle数据库是进行任何操作的第
    的头像 发表于 12-06 10:14 659次阅读

    什么是JSON数据库

    如何理解JSON数据库?作为NoSQL数据库种类型,JSON数据库有哪些优势呢?JSON数据库如何运作,它为应用程序开发者带来了哪些价值
    的头像 发表于 12-02 08:04 823次阅读
    什么是JSON<b class='flag-5'>数据库</b>

    NoSQL 数据库如何选型

    什么是NoSQL数据库?为什么要使用NoSQL数据库?键值数据库内存键值数据库文档数据库列式数据库
    的头像 发表于 11-26 08:05 443次阅读
    NoSQL <b class='flag-5'>数据库</b>如何选型