作者: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文章
1016瀏覽量
122789 -
數據庫
+關注
關注
7文章
3852瀏覽量
64727
原文標題:發現一款好用到爆的數據庫工具,被驚艷到了!
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
從Delphi、C++ Builder和Lazarus連接到MySQL數據庫
![從Delphi、C++ Builder和Lazarus連接到MySQL<b class='flag-5'>數據庫</b>](https://file1.elecfans.com/web3/M00/06/A5/wKgZO2eN5IqANOPPAAAbvvhWjM0611.png)
適用于MySQL和MariaDB的Python連接器:可靠的MySQL數據連接器和數據庫
![適用于MySQL和MariaDB的Python連接器:可靠的MySQL<b class='flag-5'>數據</b>連接器和<b class='flag-5'>數據庫</b>](https://file1.elecfans.com/web3/M00/06/57/wKgZPGeJ2kmAcWpWAAAh1ecL_LM122.png)
云數據庫是哪種數據庫類型?
車載總線通信數據庫開發工具 - VDE
![車載總線通信<b class='flag-5'>數據庫</b>開發<b class='flag-5'>工具</b> - VDE](https://file1.elecfans.com/web3/M00/04/A7/wKgZPGd3QKKAC7QhAAA7tyKp1BQ325.png)
ODX診斷數據庫轉換工具 - DDC
![ODX診斷<b class='flag-5'>數據庫</b>轉換<b class='flag-5'>工具</b> - DDC](https://file1.elecfans.com/web3/M00/04/6B/wKgZO2dzYpCAeeE_AAAZKgGWPnE390.png)
多維表格數據庫Teable的適用場景?
數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫
![<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>](https://file1.elecfans.com/web1/M00/F4/07/wKgaoWcjE32AbQdWAAJD_hojvJc119.png)
數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例
![<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例](https://file1.elecfans.com/web2/M00/07/F4/wKgaombs78mANJ1GAAPeSoXHVPE244.png)
華納云:MySQL初始化操作如何創建新的數據庫
服務端測試和客戶端測試區別在哪
無法在Modustoolbox 3.2工具類別中找到客戶端控制應用程序,如何解決?
一款適合嵌入式工程師使用的在線工具
選擇 KV 數據庫最重要的是什么?
![選擇 KV <b class='flag-5'>數據庫</b>最重要的是什么?](https://file1.elecfans.com/web2/M00/C7/0C/wKgaomYFejKABcBUAAYcik-_bpw704.png)
評論