DataGrip深入实战教程

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 DataGrip深入实战教程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

概述

首先吐槽一下,CSDN不能将很久之前写的富文本编辑器编辑的文章转换成Markdown格式。但是对于DataGrip的使用技巧,一直在积累;富文本真的太烂,没办法,只能另写一篇。DataGrip使用经验之谈写于2018年3月2日,现在看下来,有些过于随意。

另外,强烈建议阅读前,先看一下Java开发IDE神器IntelliJ IDEA 教程,因DataGrip和快捷键和使用习惯和idea如出一辙,极度相似。

实战

DataGrip连接SQL Server

连接SQL Server失败,默认使用的驱动是sqljdbc4:
在这里插入图片描述
结果报错信息如下:

[08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12].

参考DataGrip连接SQL Server,提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server建立安全连接的解决方法
结果使用Microsoft SQL Server(jTds)之后,报错信息如下:

[08S01] Network error IOException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12].

参考解决方法
新建文件custom.java.security,内容如下:

jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

选中数据库,右键属性,点击高级,在VM options里面增加如下内容:
-Djava.security.properties=C:\Users\<awesome_me>\Downloads\custom.java.security
然后重新点击Test Connection,如果不行,请清除DataGrip缓存重启:Invalidate Caches,然后Invalidate And Restart。

事实上,这个报错,对于其他数据源也是适用的。

快捷键

参考IDEA的快捷键,下面列出一些功能不太一样的快捷键:

  • Shift + F6:表字段重命名
  • Ctrl + F6:选中表,编辑表结构,可修改字段名,类型,是否可空,添加索引,调整字段顺序……等,所有更改,会同步展示在下面的SQL Script中
  • Ctrl + Alt + G:选中表,生成建表DDL语句
  • Ctrl + Q:行转列

界面

这里列出一些各界面按钮点点点操作:

  1. 右上角有个More Schema选项,点击可以切换不同的schema:
    在这里插入图片描述
  2. 另外,还有一个More Session选项,可以看出,session就是单个表的connection和console connection,点击可以切换不同的Session:
    在这里插入图片描述
  3. 设置事务模式及等级:
    在这里插入图片描述

设置

  1. 在console控制台写完SQL语句后,选中,点击左上侧绿色箭头执行,或快捷键Ctrl+Enter;选中情况下,会直接执行该SQL,未选中时,如果console中有多条SQL,会提示你要执行哪条SQL。可考虑设置默认执行光标所在的SQL语句:
    setting -> Database -> General中,将Ask what to execute换成Smallest statement
    在这里插入图片描述

技巧

  1. 有时要把某个字段置为NULL,而不是空字符串””,在列上右键,选择Set NULL;该列(字段)的定义必须为允许null,如果该字段定义为not nullnot null的列可以指定默认值如5, 此时右键为set default
  2. 行转列:对于字段比较多的表,查看数据要左右推动,可以切换成列显示,在结果集视图区域使用Ctrl + Q快捷键。一般是将当前选中行弹窗展示成列;选中多行时,还是需要左右滑动看多行数据;
  3. select *查询所有列是不好的习惯,Alt+Enter快捷键,选择Expand column list,能快速展开列;
  4. 表之间会有外键关联,查询时,能直接定位到关联数据,或被关联数据,go to-referencing data,然后选择要显示第一条数据还是显示所有数据;
  5. 对于查询使用表别名的,而字段中没有使用别名前缀的,DataGrip能自动添加前缀,鼠标停留在需要添加别名前缀的字段上,使用Alt+Enter,选择Qualify identifier;

设置不同驱动版本的数据源

相似的关联问题。DataGrip使用mysql-connector-java-8.0.20.jar版本驱动,去连接一个Server版本为5.0.95的MySQL数据源,报错:
img
解决方法:不难知道或搜到通过降低驱动版本来连上这个数据源。

但是我需要查看很多不同版本的MySQL数据源的数据。查看Server版本为8.0+的MySQL数据源,又需要调整DataGrip使用的MySQL driver,升级使用的驱动版本。

也就是说,我需要来回切换驱动版本。

问题:DataGrip支持配置多个版本的MySQL驱动包吗?然后在切换数据源时,指定某个版本的驱动包?

附,使用的DataGrip版本:

DataGrip 2021.1.2
Build #DB-211.7442.38, built on May 31, 2021
Licensed to DataGrip Evaluator
Expiration date: December 14, 2022

其实很简单,都是因为惯性思维,一般而言,我们只需要新建DataSource,某个类型的全部DataSource,如MySQL,都使用一个MySQL驱动版本。

DataGrip作为一款超级强大的工具,用户体量自然很多,也许出自他们超级强大的产品设计能力,在推出产品时就考虑到这种场景也未可知。

步骤:新增时选择驱动和数据源:
在这里插入图片描述
弹窗如下,写个简单易懂的名称,配置好用户名密码和URL。如果之前有新增过User Driver,则可以选一个;如果没有,点击蓝色:
在这里插入图片描述
弹窗如下,写一个一目了然的名称,然后点击Driver Files下面的加号,从DataGrip自带Driver目录或本地目录选择一个,这里选择5.1.24版本:
在这里插入图片描述
点击上面截图里左侧边栏的⬅符号,回到数据源Data Source配置页
在这里插入图片描述
已经默认选好驱动,点击测试连接。成功!

事后反思:有点傻,惯性思维太过于严重导致。

导入导出

选择需要导出数据的表,右键,Dump Data To File
在这里插入图片描述
即可以导出insert、update形式的SQL语句,也能导出为html、csv、json格式的数据,如果是导出到csv格式,还能控制导出的格式
也可以在查询结果视图中导出。

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

问题

Error encountered when performing Introspect database master: 不支持“variant”数据类型。

在使用Intellij IDEA或者DataGrip连接SQL Server数据源报错。

解决方案:勾选Introspect using JDBC metadata
在这里插入图片描述

参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/142160.html

(0)

相关推荐

  • leetcode 746. 使用最小花费爬楼梯

    导读:本篇文章讲解 leetcode 746. 使用最小花费爬楼梯,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月10日
    00
  • 【docker】linux centos7安装docker

    导读:本篇文章讲解 【docker】linux centos7安装docker,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月5日
    00
  • 移动端插件-Swiper图片切换、轮播

    导读:本篇文章讲解 移动端插件-Swiper图片切换、轮播,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年1月9日
    00
  • Java中的【Object类】

    导读:本篇文章讲解 Java中的【Object类】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月4日
    00
  • K8s查看和切换集群

    有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

    导读:本篇文章讲解 K8s查看和切换集群,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年5月29日
    00
  • 【JavaScript】回调地狱以及网页轮播图底层分析

    生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

    导读:本篇文章讲解 【JavaScript】回调地狱以及网页轮播图底层分析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月25日
    00
  • Express中间件②(中间件的分类)

    导读:本篇文章讲解 Express中间件②(中间件的分类),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    也许你感觉自己的努力总是徒劳无功,但不必怀疑,你每天都离顶点更进一步。今天的你离顶点还遥遥无期。但你通过今天的努力,积蓄了明天勇攀高峰的力量。加油!

    技术随笔 2023年3月3日
    00
  • js批量下载图片并压缩打包

    人生之路坎坎坷坷,跌跌撞撞在所难免。但是,不论跌了多少次,你都必须坚强勇敢地站起来。任何时候,无论你面临着生命的何等困惑抑或经受着多少挫折,无论道路多艰难,希望变得如何渺茫,请你不要绝望,再试一次,坚持到底,成功终将属于勇不言败的你。

    导读:本篇文章讲解 js批量下载图片并压缩打包,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月17日
    00
  • ASP.NET Core静态文件中间件综合案例(云盘服务器)

    导读:本篇文章讲解 ASP.NET Core静态文件中间件综合案例(云盘服务器),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月16日
    00
  • 9、Javaweb_http响应概念&Response+验证码案例&ServletContext+文件下载

    导读:本篇文章讲解 9、Javaweb_http响应概念&Response+验证码案例&ServletContext+文件下载,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年1月23日
    00

发表回复

登录后才能评论