DataGrip札记:基础
目录
简介
DataGrip是面向开发人员的数据库管理环境。它旨在查询,创建和管理数据库。
正篇
数据库对象
数据源分组
可根据自定义类型对数据源分组,比如数据库供应商。按下F6或从上下文菜单中(右键->Move to Group…)选择移至分组…。
新建组可使用拖放操作完成,只需将一个数据源拖放到另一个数据源上。如果要将数据源放到现有组中,只需拖放进来。为选定的对象生成SQL文件
可以使用SQL生成器 (Ctrl+Alt+G)(SQL Scripts→SQL Generator…)为数据库对象生成SQL文件,只需点击右窗格的Save按钮即可。
并提供两种输出布局:每个对象一个文件和每个对象一个文件,且按顺序。快速备份表
可以通过拖放操作将表复制到同一个数据源中,如果您需要在进行任何关键数据操作之前创建表的快速备份,这可能非常方便。
修改表结构/表数据
在数据库或SQ脚本中的表名称中按下Ctrl+F6即可对它们进行修改,并提供即时预览功能。要编辑表中的数据,请按下F4查看数据编辑器。
编辑源代码
按下Ctrl+B,可以获得过程或函数的DDL语句,并进行Edit操作。
间距(文本编辑器左侧的垂直条)将高亮显示所做的更改,在点击工具栏上的Submit后,对话框将显示生成的SQL代码以更新源代码。
DataGrip将数据库的源代码保存在本地存储中,您可以查看您已更改的源代码部分,而且可以将任意改动还原到服务器版本。图表
按下Ctrl+Alt+U或通过右键”Diagrams->Show Visualisation”,可以随时在图表中查看它们之间的关系。
带有主键和外键的列可以从图表中隐藏,只在相关行上显示,如有必要,这些图表可以导出至图像文件。
智能文本编辑器
代码格式化
按下Ctrl+Alt+L可以灵活根据用户定义的代码样式,自动完成SQL代码格式化。
在Settings → Editor → Code Style → SQL中调整代码样式,比如您可以定义关键词是否使用首字母大写。关键字自动大写
可去”Editor->Code Style->SQL”中找到对应的数据库方言,在”Case->Word Case->Keywords”中将值设为To upper。
如果使用了小写,可以将光标停留在需要转换的字段或表名上,使用Ctrl+shift+U快捷键自动转换。多光标模式
在许多情况下,多个光标是修改SQL代码最有效的方式。要添加多个光标,连续按两次Ctrl并按住不放,然后使用方向键放置新光标。
或者按住Shift+Alt不放并点击,也有同样效果。 或者先使用文本搜索功能,然后通过Select All Occurrences功能实现。代码注释
选中要注释的代码,按下Ctrl+/或Ctrl+shift+/快捷键,能注释代码,或取消注释。
实时模板
按下Ctrl+J即可查看所有实时模板,并根据选择生成相应SQL代码的重复部分。
每个实时模板都有自己的缩写,只要输入缩写并按下Tab键即可粘贴完整的代码。比如输入selw就可以粘贴SELECT * FROM和WHERE。从剪贴板历史记录粘贴
按下Ctrl+Shift+V可以访问剪贴板历史记录,并快速粘贴最近复制到剪贴板中的项。
当启动应用程序时,DataGrip会开始将复制的项记录到它的剪贴板历史记录中,并且在关闭应用程序时清除历史记录。管理代码片段
无需为移动代码块执行这么繁琐的复制粘贴操作,您可以直接使用这些热键来管理选定的行或者代码块。
— 按下Ctrl+D以复制行。
— 通过Ctrl+Y删除行。
— 通过Alt+Shift+上下箭头键移动行。
运行查询
查询控制台
每个数据源都有自己的默认控制台。进入上下文菜单,然后点击Open Console即可打开。或使用快捷键F4。
如果出于任何原因,您想为数据源创建另一个控制台,也可以通过:上下文菜单 → New → Console。执行查询
按Ctrl+Enter执行光标停留的语句,可在setting->Database-General中设置smallest statement。
对于希望在新的tab窗口显示查询结果,可以点击”Pin Tab”按钮,那新查询将不会再当前tab中展示,而是新打开一个tab。评估表达式
在其他基IntelliJ的IDE中,在对象上按Ctrl+Alt+F8或者Alt+Click可以让您获得快速评估。
在DataGrip中,在查询器中的表中调用它可以查看那个表中的数据,在列名称中按Ctrl+Alt+F8将显示预期结果集中那个列的值。运行查询的历史记录
在每个控制台的工具栏上有一个按钮Browse Console History。按下它可以查看该数据源运行的所有查询的历史记录。
完整SQL日志
IDE的所有查询均记录在文本文件中。要打开该文件,请转到Help | Show SQL log in Explorer。
执行计划
选中要执行的语句右键”Explain plan(Raw)”将展示数据库要执行的操作,它可以帮助您优化查询。可以以表格或图表的形式表示。
用户参数
当您从其他应用程序中获得SQL查询时,它可以添加参数。参数值用”:a”类似符号代替,再点击工具栏的View Parameters按钮。
您可以在”Database → User Parameters”中找到编辑参数模式的 UI。正则表达式会高亮显示,您可以选择模式有效的方言。
处理文件
附加目录
可以在”Files”工具窗口中管理文件和目录,请使用工具栏上的”Attach Directory”按钮将所需目录附加到Files工具窗口中。
文件语言
右键选择”Change Dialect”可以更改任何文件(SQL)的语言(方言),以获得正确的高亮显示和解析建议。
版本控制
DataGrip为Git、SVN和Mercurial等所有主要的版本控制系统提供了统一的支持,可以从不同的VCS处理不同项目并随意切换项目。
要获得VCS支持,可以通过”Settings → Plugins”安装相应的JetBrains插件。
另请参阅:如何在DataGrip中处理Git与DataGrip和GitHub集成。
数据编辑器
全文搜索
选择要搜索的数据源或数据源组甚至单独的表,并从上下文菜单调用”Full-text search”或者快捷键”Ctrl+Alt+Shift+F”即可。
点击结果以打开数据编辑器,如果由于列过多而无法定位数据,请在数据编辑器中使用文本搜索:Ctrl+F。筛选数据
无需输入任何WHERE子句,只要在结果列表上方的”Filter criteria”输入栏中输入搜索条件即可查看您需要的数据。
文本搜索
在表编辑器中通过Ctrl+F调用,无需编写语句即可快速在表中查找数据。
如果您不知道要查找的数据位于哪一列,该功能就特别实用。同时您可以轻松隐藏无关行,以及使用正则表达式。行转列
对于字段比较多的表,查看数据要左右推动,可以切换成列显示,在结果集视图区域使用Ctrl+Q快捷键开启并点击”Transposed View”。
导入导出选项
从CSV文件导入数据
点击要导入的schema,然后从上下文菜单中选择”Import Data from File…”,然后选择存储数据的CSV文件将看到导入对话框窗口。
CSV,意为逗号分隔值或者字符分隔值,其文件以纯文本形式存储表格数据,记录间以某种换行符分隔,字段间以逗号或制表符分隔。
左边的面板显示行分隔符,字段分隔符,空值以及第一行是页眉处理的相关设置。
右边的面板将看到要创建表的框架和结果数据预览,如果想从已有的表中导入数据,那么请使用该表的上下文菜单并选择从文件导入…。CSV编辑器
DataGrip可以将CSV文件作为表进行编辑并可以即时预览表。在上下文菜单中点击”Edit as Table…”。
表数据导出
表可以导出至文件。表的上下文菜单 → 向文件转储数据 (Dump data to file)。
导出至其他已有表 (Another existing table)。表的上下文菜单 → 将表复制到 (Copy Table to)(或在表上按F5)→ 选择已有表。
导出至任意数据库供应商的任意数据源中的新表。表的上下文菜单 → 将表复制到(或在表上按F5) → 选择目标架构。SQL查询导出
SQL查询可以作为结果导出到文件中。语句的上下文菜单 → 执行到文件 (Execute to file) → 选择格式。
如果查询比较慢,该功能很实用;如果你导出结果集,查询将再次运行,在这种情况下,您只需要运行一次。结果集导出
结果集可以导出至文件。 转储按钮(Dump Data) → To File。
导出至剪贴板。 转储按钮(Dump Data) → 至剪贴板。
导出至其他已有表。导出按钮(Export to Database…) → 选择已有表。
导出至任意数据库供应商中任意数据源中的新表。 导出按钮(Export to Database…) → 选择目标架构。导出格式
每次导出到文件或剪贴板时,都需要选择格式。 通常是CSV文件,但在许多情况下,您需要JSON、XML甚至是DML语句。
SQL查询:任何表或结果集都可以用一组INSERT语句展示,请从下拉列表中选择”SQL Inserts”,它还可以选择”SQL Updates”帮您修改数据。
CSV、TSV:列表中有两个预设格式(逗号分隔值和Tab分隔值)。您可以根据DSV创建任意自定义格式。
HTML/XML:有一个您无法更改的预设提取工具(HTML表)。此外还有脚本提取工具(HTML-Groovy.html.groovy和XML-Groovy.xml.groovy)等。
JSON:JSON-Groovy.json.groovy提取工具可以将您的表或结果集导出至JSON。
自定义格式:要处理更加复杂的形式,在提取工具菜单中选择转到脚本目录(Go to Scripts Directory),导航至它们的存储文件夹。
这些脚本是用Groovy编写的,但也可以用JavaScript编写,而且通常位于Scratches和Consoles/Extensions/Database Tools and SQL/data/extractors中。修改已有提取工具或在这里添加您自己的提取工具。转储/恢复工具
DataGrip集成了mysqldump和pg_dump。要转储对象,请使用上下文菜单中的Dump with…选项。
导航
随处搜索
如果不确定在哪里查找所需内容,可尝试按两次Shift键来调用Search Everywhere。
查找操作:Ctrl+Shift+A,切换到Actions。搜索某些你知道但不知道如何访问的功能。
查找表/过程:Ctrl+N,切换到Tables。如果是表,会打开一个数据编辑器,要查看该表的DDL,请按DDL按钮。
查找文件:Shift+Ctrl+N,切换到Files。文件会打开。
查找符号:Shift+Ctrl+Alt+N,切换到Symbols。可以访问数据库视图中的任何数据库对象,包括列、约束、索引等。从SQL导航
在SQL的编辑区域,针对SQL的关键字例如表名、字段名或者函数名上可做如下操作进行相关导航。
Edit source(F4)可将您转至数据或DDL。Go to declaration(Ctrl+B)可将您转至数据库树。Ctrl+Q悬浮查看表结构。
可去”Setting->Database->General->Navigation”定义导航位置的选项。在数据库树视图中快速搜索
任何树(列表、弹出窗口、下拉菜单)都支持快速搜索。请注意匹配的数据库对象只有在其节点已打开时才会高亮显示。
关于快速搜索的另一个实用之处在于其支持缩写。例如使用“sbs”就可以找到“sales_by_store”。最近的文件
按下Ctrl+E打开Recent Files窗口。控制台、数据编辑器、文本文件一切都在这里,光标默认放在最后访问的项目。
最近的位置
按下Ctrl+Shift+E打开Recent Locations窗口。列出您最近访问/改变的代码位置。它以代码段的形式显示代码位置前后几行。
参考链接
结束语
- 未完待续…
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tujide.lv@foxmail.com
文章标题:DataGrip札记:基础
文章字数:3.3k
本文作者:Tujide.lv
发布时间:2019-12-10, 09:52:05
最后更新:2020-03-07, 17:39:54
原始链接:https://lvzhiqiang.top/2019/st-datagrip-basic.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。