最近看到一款數據庫客戶端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那個出品Intellij IDEA的公司。DataGrip是一款數據庫管理客戶端工具,方便鏈接到數據庫服務器,執行sql、建立表、建立索引以及導出數據等。以前試用的客戶端工具是dbvisualizer,可是在試用了DataGrip之後,我就決定拋棄dbvisualizer。我相信,當你第一眼看到DataGrip之後,會有一種驚豔的感受,就比如你第一眼看到一個姑娘,就是那麼一瞥,你對本身說,就是她了!廢話很少說,來看看DataGrip的經常使用功能。DataGrip下載連接以下https://www.jetbrains.com/datagrip/download。安裝過程也很簡單,雙擊安裝,下一步,中間會讓你選擇主題,本人選擇的是經典的Darcula,安裝完成後,啓動,界面以下html
相信使用過IDEA的同窗會感到很親切。接下來管理數據庫驅動。DataGrip支持主流的數據庫,File->DataSource正則表達式
也能夠在Database視圖中展開綠色的+號,添加數據庫鏈接sql
選擇須要鏈接的數據庫類型數據庫
在面板中,左上部分列出了已經創建的數據庫鏈接,點擊各項,右側會展現當前鏈接的配置信息,General面板中,能夠配置數據庫鏈接的信息,如主機、用戶名、密碼等,不一樣數據庫配置信息不徹底相同,填入數據庫URL,注意,URL後有個選項,能夠選擇直接填入url,那麼就不須要單獨填主機名、端口等信息了。json
Driver部分顯示數據庫驅動信息,若是尚未下載過驅動,底部會有個警告,提示缺乏驅動服務器
點擊Driver後的數據庫類型,會跳轉到驅動下載頁面,點擊download,下載完會顯示驅動包app
若是下載的驅動有問題,能夠手動添加本地驅動包,在試用過程當中,建立Oracle鏈接時,下載的驅動包就有問題,提示缺乏class,點擊右側綠色的+號,選擇本地下載好的jar包,經過右側上下箭頭,將導入的jar包移到最上位置就OK了eclipse
點擊Test Connection,查看配置是否正確,接下來就可使用了。編輯器
打開DataGrip,選擇File->Settings,當前面板顯示了經常使用設置項函數
基本上默認設置就足夠了,要更改設置也很簡單,左側菜單已經分類好了,第一項是數據庫相關的配置,第二項是配置外觀的,在這裏能夠修改主題,key map修改快捷鍵,editor配置編輯器相關設置,在這裏能夠修改編輯器字體,展開edit項,Editor->Color & Fonts->Font
須要將當前主題保存一下,點擊save as,起個名,選擇重命名後的主題就能修改了,這裏我選擇習慣的Conurier New字體,大小爲14號,點擊右下角的apply,點擊OK
其餘的沒啥好設置的了。
接下來,咱們來使用DataGrip完成數據庫的經常使用操做,包括查詢數據、修改數據,建立數據庫、表等。
左上區域顯示了當前數據庫鏈接,展開後會顯示數據庫表等信息,若是展開後沒有任何信息,須要選中數據庫鏈接,點擊上面的旋轉圖標同步一下,下方有個More Schema選項,點擊能夠切換不一樣的schema。
右鍵選中的數據庫鏈接,選擇open console,就能夠在右側的控制檯中書寫sql語句了。
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歷史
命令歷史