作者:atzuge
鏈接:https://www.cnblogs.com/zuge/p/7397255.html
最近被同事案例了一款數(shù)據(jù)庫客戶端工具:DataGrip,大愛!
其實(shí),這個(gè)標(biāo)題的話肯定會(huì)引出一些杠精,為了不給杠精留機(jī)會(huì),多做一點(diǎn)說明:Navicat 和 DataGrip 都是非常優(yōu)秀的數(shù)據(jù)管理工具,各有所長(zhǎng),這里就不做對(duì)比了!你喜歡什么樣的風(fēng)格用什么樣的產(chǎn)品,就我個(gè)人而言更喜歡 DataGrip 一些。把杠精安排的明明白白!
DataGrip 版是由 JetBrains 公司(就是那個(gè)出品 Intellij IDEA 的公司)推出的數(shù)據(jù)庫管理軟件。如果你不愛折騰的話,這家公司出品的很多 IDE 都是你的最佳選擇,比如你進(jìn)行 Python 開發(fā)的可以選擇 JetBrains 全家桶中的 PyCharm 。
DataGrip 支持幾乎所有主流的關(guān)系數(shù)據(jù)庫產(chǎn)品,如 DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite 及 Sybase 等,并且提供了簡(jiǎn)單易用的界面,開發(fā)者上手幾乎不會(huì)遇到任何困難。
我相信,當(dāng)你第一眼看到 DataGrip 以后,會(huì)有一種驚艷的感覺,就好比你第一眼看到一個(gè)姑娘,就是那么一瞥,你對(duì)自己說,就是她了!廢話不多說,來看看 DataGrip 的常用功能。
DataGrip 下載鏈接如下 https://www.jetbrains.com/datagrip/download。安裝過程也很簡(jiǎn)單,雙擊安裝,下一步,中間會(huì)讓你選擇主題,本人選擇的是經(jīng)典的 Darcula,安裝完成后,啟動(dòng),界面如下
配置 Data Source
相信使用過 IDEA 的同學(xué)看到這個(gè)界面都會(huì)感到很親切。File->DataSource :配置數(shù)據(jù)源。
DataGrip 支持主流的數(shù)據(jù)庫。你也可以在 Database 視圖中展開綠色的+號(hào),添加數(shù)據(jù)庫連接
選擇需要連接的數(shù)據(jù)庫類型
在面板中,左上部分列出了已經(jīng)建立的數(shù)據(jù)庫連接,點(diǎn)擊各項(xiàng),右側(cè)會(huì)展示當(dāng)前連接的配置信息,General 面板中,可以配置數(shù)據(jù)庫連接的信息,如主機(jī)、用戶名、密碼等,不同數(shù)據(jù)庫配置信息不完全相同,填入數(shù)據(jù)庫 URL,注意,URL 后有個(gè)選項(xiàng),可以選擇直接填入 url,那么就不需要單獨(dú)填主機(jī)名、端口等信息了。
Driver 部分顯示數(shù)據(jù)庫驅(qū)動(dòng)信息,如果還沒有下載過驅(qū)動(dòng),底部會(huì)有個(gè)警告,提示缺少驅(qū)動(dòng)
點(diǎn)擊 Driver 后的數(shù)據(jù)庫類型,會(huì)跳轉(zhuǎn)到驅(qū)動(dòng)下載頁面,點(diǎn)擊 download,下載完會(huì)顯示驅(qū)動(dòng)包
如果下載的驅(qū)動(dòng)有問題,可以手動(dòng)添加本地驅(qū)動(dòng)包,在試用過程中,創(chuàng)建 Oracle 連接時(shí),下載的驅(qū)動(dòng)包就有問題,提示缺少 class,點(diǎn)擊右側(cè)綠色的+號(hào),選擇本地下載好的 jar 包,通過右側(cè)上下箭頭,將導(dǎo)入的 jar 包移到最上位置就 OK 了
點(diǎn)擊 Test Connection,查看配置是否正確,接下來就可以使用了。
常用設(shè)置
打開 DataGrip,選擇 File->Settings,當(dāng)前面板顯示了常用設(shè)置項(xiàng)
基本上默認(rèn)設(shè)置就足夠了,要更改設(shè)置也很簡(jiǎn)單,左側(cè)菜單已經(jīng)分類好了,第一項(xiàng)是數(shù)據(jù)庫相關(guān)的配置,第二項(xiàng)是配置外觀的,在這里可以修改主題,key map 修改快捷鍵,editor 配置編輯器相關(guān)設(shè)置,在這里可以修改編輯器字體,展開 edit 項(xiàng): Editor->Color & Fonts->Font
需要將當(dāng)前主題保存一下,點(diǎn)擊 save as,起個(gè)名,選擇重命名后的主題就能修改了,這里我選擇習(xí)慣的 Conurier New 字體,大小為 14 號(hào),點(diǎn)擊右下角的 apply,點(diǎn)擊 OK 點(diǎn)擊查看原始大小圖片
其他的沒啥好設(shè)置的了。
數(shù)據(jù)庫常用操作
接下來,我們來使用 DataGrip 完成數(shù)據(jù)庫的常用操作,包括查詢數(shù)據(jù)、修改數(shù)據(jù),創(chuàng)建數(shù)據(jù)庫、表等。
點(diǎn)擊查看原始大小圖片
左上區(qū)域顯示了當(dāng)前數(shù)據(jù)庫連接,展開后會(huì)顯示數(shù)據(jù)庫表等信息,如果展開后沒有任何信息,需要選中數(shù)據(jù)庫連接,點(diǎn)擊上面的旋轉(zhuǎn)圖標(biāo)同步一下,下方有個(gè) More Schema 選項(xiàng),點(diǎn)擊可以切換不同的 schema。
sql 語句編寫
右鍵選中的數(shù)據(jù)庫連接,選擇 open console,就可以在右側(cè)的控制臺(tái)中書寫 sql 語句了。
img
DataGrip 的智能提示非常爽,無論是標(biāo)準(zhǔn)的 sql 關(guān)鍵字,還是表名、字段名,甚至數(shù)據(jù)庫特定的字段,都能提示,不得不感嘆這智能提示太強(qiáng)大了,Intellij IDEA 的智能提示也是秒殺 eclipse。
寫完 sql 語句后,可以選中,電子左上側(cè)綠色箭頭執(zhí)行
也可以使用快捷鍵 Ctrl+Enter,選中情況下,會(huì)直接執(zhí)行該 sql,未選中情況下,如果控制臺(tái)中有多條 sql,會(huì)提示你要執(zhí)行哪條 sql。
之前習(xí)慣了 dbvisualizer 中的操作,dbvisualizer 中光標(biāo)停留在當(dāng)前 sql 上(sql 以分號(hào)結(jié)尾),按下Ctrl+.快捷鍵會(huì)自動(dòng)執(zhí)行當(dāng)前 sql,其實(shí) DataGrip 也能設(shè)置,在 setting->Database-General中
語句執(zhí)行時(shí)默認(rèn)是提示,改成 smallest statement 后,光標(biāo)停留在當(dāng)前語句時(shí),按下 Ctrl+Enter 就會(huì)直接執(zhí)行當(dāng)前語句。
語句的執(zhí)行結(jié)果在底部顯示
如果某列的寬度太窄,可以鼠標(biāo)點(diǎn)擊該列的任意一個(gè),使用快捷鍵Ctrl+Shift+左右箭頭可以調(diào)整寬度,如果要調(diào)整所有列的寬度,可以點(diǎn)擊左上角紅框部分,選擇所有行,使用快捷鍵Ctrl+Shift+左右箭頭調(diào)整
修改數(shù)據(jù)
添加行、刪除行也很方便,上部的+、-按鈕能直接添加行或刪除選中的行,編輯列同樣也很方便,雙擊要修改的列,輸入修改后的值,鼠標(biāo)在其他部分點(diǎn)擊就完成修改了
有的時(shí)候我們要把某個(gè)字段置為 null,不是空字符串"",DataGrip 也提供了漸變的操作,直接在列上右鍵,選擇 set null
對(duì)于需要多窗口查看結(jié)果的,即希望查詢結(jié)果在新的 tab 中展示,可以點(diǎn)擊 pin tab 按鈕,那新查詢將不會(huì)再當(dāng)前 tab 中展示,而是新打開一個(gè) tab
旁邊的 output 控制臺(tái)顯示了執(zhí)行 sql 的日志信息,能看到 sql 執(zhí)行的時(shí)間等信息
我就問這么吊的工具,還有誰!!!
新建表
要新建表也是相當(dāng)簡(jiǎn)單、智能,選中數(shù)據(jù)庫連接,點(diǎn)擊綠色+號(hào)下選擇 table
在新打開的窗口中,可以填寫表信息
我就問你看到這個(gè)窗口興奮不興奮!!!
頂部可以填寫表名、表注釋,中間可以點(diǎn)擊右側(cè)綠色+號(hào)添加列,列類型 type 也是能自動(dòng)補(bǔ)全,default 右側(cè)的消息框圖標(biāo)點(diǎn)擊后能對(duì)列添加注釋,旁邊的幾個(gè) tab 可以設(shè)置索引及外鍵
所有這些操作的 DDL 都會(huì)直接在底部顯示
我就問你怕不怕
表建完后,可以點(diǎn)擊下圖中的 table 圖標(biāo),打開表查看視圖
可以查看表的數(shù)據(jù),也能查看 DDL 語句
數(shù)據(jù)庫導(dǎo)出
這些基本功能的設(shè)計(jì)、體驗(yàn),已經(jīng)驚艷到我了,接下來就是數(shù)據(jù)的導(dǎo)出。
DataGrip 的導(dǎo)出功能也是相當(dāng)強(qiáng)大
選擇需要導(dǎo)出數(shù)據(jù)的表,右鍵,Dump Data To File
即可以導(dǎo)出 insert、update 形式的 sql 語句,也能導(dǎo)出為 html、csv、json 格式的數(shù)據(jù)
也可以在查詢結(jié)果視圖中導(dǎo)出
點(diǎn)擊右上角下載圖標(biāo),在彈出窗口中可以選擇不同的導(dǎo)出方式,如 sql insert、sql update、csv 格式等
如果是導(dǎo)出到 csv 格式,還能控制導(dǎo)出的格式
導(dǎo)出后用 excel 打開是這種結(jié)果
除了能導(dǎo)出數(shù)據(jù)外,還能導(dǎo)入數(shù)據(jù)
選擇表,右鍵->Import from File,選擇要導(dǎo)入的文件
注意,導(dǎo)出的時(shí)候如果勾選了左側(cè)的兩個(gè) header 選項(xiàng),導(dǎo)入的時(shí)候如果有 header,也要勾選,不然會(huì)提示列個(gè)數(shù)不匹配
小技巧
導(dǎo)航+全局搜索
關(guān)鍵字導(dǎo)航
當(dāng)在 datagrip 的文本編輯區(qū)域編寫 sql 時(shí),按住鍵盤 Ctrl 鍵不放,同時(shí)鼠標(biāo)移動(dòng)到 sql 關(guān)鍵字上,比如表名、字段名稱、或者是函數(shù)名上,鼠標(biāo)會(huì)變成手型,關(guān)鍵字會(huì)變藍(lán),并加了下劃線,點(diǎn)擊,會(huì)自動(dòng)定位到左側(cè)對(duì)象樹,并選中點(diǎn)擊的對(duì)象
快速導(dǎo)航到指定的表、視圖、函數(shù)等
在 datagrip 中,使用 Ctrl+N 快捷鍵,彈出一個(gè)搜索框,輸入需要導(dǎo)航的名稱,回車即可
全局搜索
連續(xù)兩次按下 shift 鍵,或者鼠標(biāo)點(diǎn)擊右上角的搜索圖標(biāo),彈出搜索框,搜索任何你想搜索的東西
結(jié)果集搜索
在查詢結(jié)果集視圖區(qū)域點(diǎn)擊鼠標(biāo),按下 Ctrl+F 快捷鍵,彈出搜索框,輸入搜索內(nèi)容,支持正則表達(dá)式、過濾結(jié)果
導(dǎo)航到關(guān)聯(lián)數(shù)據(jù)
表之間會(huì)有外檢關(guān)聯(lián),查詢的時(shí)候,能直接定位到關(guān)聯(lián)數(shù)據(jù),或者被關(guān)聯(lián)數(shù)據(jù),例如 user1 表有個(gè)外檢字段 classroom 指向 classroom 表的主鍵 id,在查詢 classroom 表數(shù)據(jù)的時(shí)候,可以在 id 字段上右鍵,go to,referencing data
選擇要顯示第一條數(shù)據(jù)還是顯示所有數(shù)據(jù)
會(huì)自動(dòng)打開關(guān)聯(lián)表的數(shù)據(jù)
相反,查詢字表的數(shù)據(jù)時(shí),也能自動(dòng)定位到父表
數(shù)據(jù)轉(zhuǎn)換
結(jié)果集數(shù)據(jù)過濾
對(duì)于使用 table edit(對(duì)象樹中選中表,右鍵->table editor)打開的結(jié)果集,可以使用條件繼續(xù)過濾結(jié)果集,如下圖所示,可以在結(jié)果集左上角輸入款中輸入 where 條件過濾
也可以對(duì)著需要過濾數(shù)據(jù)的列右鍵,filter by 過濾
行轉(zhuǎn)列
對(duì)于字段比較多的表,查看數(shù)據(jù)要左右推動(dòng),可以切換成列顯示,在結(jié)果集視圖區(qū)域使用 Ctrl+Q 快捷鍵
變量重命名
鼠標(biāo)點(diǎn)擊需要重命名的變量,按下 Shift+F6 快捷鍵,彈出重命名對(duì)話框,輸入新的名稱
自動(dòng)檢測(cè)無法解析的對(duì)象
如果表名、字段名不存在,datagrip 會(huì)自動(dòng)提示,此時(shí)對(duì)著有問題的表名或字段名,按下 Alt+Enter,會(huì)自動(dòng)提示是否創(chuàng)建表或添加字段
權(quán)限定字段名
對(duì)于查詢使用表別名的,而字段中沒有使用別名前綴的,datagrip 能自動(dòng)添加前綴,鼠標(biāo)停留在需要添加別名前綴的字段上,使用 Alt+Enter 快捷鍵
格式化
*通配符自動(dòng)展開
查詢的時(shí)候我們會(huì)使用 select 查詢所有列,這是不好的習(xí)慣,datagrip 能快速展開列,光標(biāo)定位到后面,按下 Alt+Enter 快捷鍵
大寫自動(dòng)轉(zhuǎn)換
sql 使用大寫形式是個(gè)好的習(xí)慣,如果使用了小寫,可以將光標(biāo)停留在需要轉(zhuǎn)換的字段或表名上,使用 Ctrl+shift+U 快捷鍵自動(dòng)轉(zhuǎn)換
sql 格式化
選中需要格式化的 sql 代碼,使用 Ctrl+Alt+L 快捷鍵
datagrip 提供了一個(gè)功能強(qiáng)大的編輯器,實(shí)現(xiàn)了 notpad++的列編輯模式
列編輯
多光標(biāo)模式
在編輯 sql 的時(shí)候,可能需要同時(shí)輸入或同時(shí)刪除一些字符,按下 alt+shift,同時(shí)鼠標(biāo)在不同的位置點(diǎn)擊,會(huì)出現(xiàn)多個(gè)光標(biāo)
代碼注釋
選中要注釋的代碼,按下 Ctrl+/或 Ctrl+shift+/快捷鍵,能注釋代碼,或取消注釋
列編輯
按住鍵盤 Alt 鍵,同時(shí)按下鼠標(biāo)左鍵拖動(dòng),能選擇多列,拷貝黏貼等操作
歷史記錄
代碼歷史
在文本編輯器中,郵件,local history,show history,可以查看使用過的 sql 歷史
命令歷史
責(zé)任編輯:haq
-
控制
+關(guān)注
關(guān)注
4文章
1012瀏覽量
122683 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3818瀏覽量
64498
原文標(biāo)題:發(fā)現(xiàn)一款好用到爆的數(shù)據(jù)庫工具,被驚艷到了!
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論