概述

首先吐槽一下,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数据源,报错:

解决方法:不难知道或搜到通过降低驱动版本来连上这个数据源。

但是我需要查看很多不同版本的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

参考

DataGrip深入实战教程相关推荐

  1. PyTorch 高级实战教程:基于 BI-LSTM CRF 实现命名实体识别和中文分词

    20210607 https://blog.csdn.net/u011828281/article/details/81171066 前言:译者实测 PyTorch 代码非常简洁易懂,只需要将中文分词 ...

  2. ArcGIS水文分析实战教程(9)雨量计算与流量统计

    ArcGIS水文分析实战教程(9)雨量计算与流量统计 本章导读:降水是水文循环中重要的一环,降水包括雨.雪.雾.露.雹等,本章介绍的是降雨的环节.通过雨量站与插值的方式,实现雨量的空间分布就算,为水文 ...

  3. 宏基因组分析实战教程1. 背景知识

    上次我写的学习经验和推荐的教程--<微生物组入门必读+宏基因组实操课程=新老司机赶快上车>,小伙伴们当天阅读破2700+人次,3.5天破3000+,达到了宏基因组快车满三千人发车的要求.我 ...

  4. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  5. python商业爬虫教程_廖雪峰老师的Python商业爬虫课程 Python网络爬虫实战教程 体会不一样的Python爬虫课程...

    廖雪峰老师的Python商业爬虫课程 Python网络爬虫实战教程 体会不一样的Python爬虫课程 1.JPG (53.51 KB, 下载次数: 1) 2019-8-9 08:15 上传 2.JPG ...

  6. Swift游戏开发实战教程(大学霸内部资料)

    Swift游戏开发实战教程(大学霸内部资料) 试读下载地址:http://pan.baidu.com/s/1sj7DvQH 介绍:本教程是国内第一本Swift游戏开发专向资料. 本教程详细讲解记忆配对 ...

  7. python教程下载地址-最新python实战教程网盘下载地址

    原标题:最新python实战教程网盘下载地址 Python在程序员中始终流行:40%的受访者都会学习,44%的受访者每周都会学习.目前技术领域最热点的技术排名,排在前一位的是:Python.Pytho ...

  8. python3项目-终于找到python3项目实战教程

    列表的元素是可以变动的,比如增加.删除.修改,不过需要注意的是,列表的元素不是基本数据类型,都是一个个的标识符引用对象.以下是小编为你整理的python3项目实战教程 先定义一个列表 a = [123 ...

  9. yolov5训练_YoloV5模型训练实战教程:Kaggle全球小麦检测竞赛

    写在前面 前段时间参加了Kaggle的一个目标检测竞赛,比赛后期因为工作较繁忙就搁置了,但仍然获得了铜牌(前10%).因此在这里想跟大家分享下自己的方案,希望能帮助大家更好的了解目标检测这一经典的计算 ...

最新文章

  1. 全球首个软硬件推理平台 :NVDLA编译器正式开源
  2. 优秀logo设计解析_优秀Logo设计!数学美的运用
  3. c语言调用shell命令一 popen使用以及获取命令返回值
  4. 你所需要的java基础篇深入解析大汇总
  5. arcscene如何显示标注_ArcGIS中标注(label)的使用技巧
  6. java bmp信息隐藏_BMP图像信息隐藏及检测
  7. Python元组介绍
  8. apache php 重写url无效,apache用rewrite重写url时出现问题
  9. 光纤熔接盒盘线方法_唐品小课堂光纤色谱
  10. 常见笔顺错误的字_孩子的字越写越差,强行矫正效果差,家长应这样培养孩子书写态度...
  11. linux让别人电脑蓝屏,愚人节必备,教你制作整人神器,用代码实现计算机蓝屏...
  12. 论中国人工智能发展史
  13. 名将戚继光与北蒙之战
  14. codecademy里能学好php,在iPhone上学编程:Codecademy
  15. 2019年微信大数据新鲜出炉,你确定不来看看吗?
  16. 雍正杀“舅”:握着领导把柄,隆科多必须死?
  17. 计算机显示在屏幕上怎么取消,电脑显示屏显示的九宫格怎样取消掉
  18. 50例大数据术语英文翻译及详解
  19. 一个后端朋友面试一个月的经验总结
  20. 清华大学赵志磊--基于thinkPHP6框架的Excel表格导入和导出

热门文章

  1. 0基础开始制作微信小程序
  2. git时出现! [rejected] master -> master (non-fast-forward)解决方法
  3. vue加载动画element ui V-loading属性 踩坑记录
  4. 通达oa考勤可以代打吗_个人考勤使用方法
  5. 昆仑通泰(MCGS)官方资料
  6. JAVA微信开发(四), 公众号普通红包
  7. 抖音、今日头条、西瓜视频将打包上市
  8. SVN启用注释模板实现方案
  9. 电子电路设计基本概念100问(二)【学习目标:原理图、PCB、阻抗设计、电子设计基本原则、基本原器件等】
  10. sfc流程图怎么画_SFC顺序功能图单一流程教程