發現一款超牛逼的資料庫工具,IDEA 公司出品,功能超多,弔炸天。。

来源:https://www.cnblogs.com/javastack/archive/2022/04/29/16207157.html
-Advertisement-
Play Games

作者 Atzuge 鏈接 https://www.cnblogs.com/zuge/p/7397255.html DataGrip是大名鼎鼎的JetBrains公司出品的,就是那個出品Intellij IDEA的公司。它是一款資料庫管理客戶端工具,方便連接到資料庫伺服器,執行sql、創建表、創建索引 ...


作者 Atzuge
鏈接 https://www.cnblogs.com/zuge/p/7397255.html

DataGrip是大名鼎鼎的JetBrains公司出品的,就是那個出品Intellij IDEA的公司。它是一款資料庫管理客戶端工具,方便連接到資料庫伺服器,執行sql、創建表、創建索引以及導出數據等。

我相信,當你第一眼看到DataGrip以後,會有一種驚艷的感覺,就好比你第一眼看到一個姑娘,就是那麼一瞥,你對自己說,就是她了!廢話不多說,來看看DataGrip的常用功能。安裝過程也很簡單,雙擊安裝,下一步,中間會讓你選擇主題,本人選擇的是經典的Darcula,安裝完成後,啟動,界面如下

相信使用過IDEA的同學會感到很親切。接下來管理資料庫驅動。DataGrip支持主流的資料庫,File->DataSource

也可以在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。

右鍵選中的資料庫連接,選擇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,也要勾選,不然會提示列個數不匹配

「1、關鍵字導航:」

當在datagrip的文本編輯區域編寫sql時,按住鍵盤Ctrl鍵不放,同時滑鼠移動到sql關鍵字上,比如表名、欄位名稱、或者是函數名上,滑鼠會變成手型,關鍵字會變藍,並加了下劃線,點擊,會自動定位到左側對象樹,並選中點擊的對象

「2、快速導航到指定的表、視圖、函數等:」

在datagrip中,使用Ctrl+N快捷鍵,彈出一個搜索框,輸入需要導航的名稱,回車即可

「3、全局搜索」

連續兩次按下shift鍵,或者滑鼠點擊右上角的搜索圖標,彈出搜索框,搜索任何你想搜索的東西

「4、結果集搜索」

在查詢結果集視圖區域點擊滑鼠,按下Ctrl+F快捷鍵,彈出搜索框,輸入搜索內容,支持正則表達式、過濾結果

「5、導航到關聯數據」

表之間會有外檢關聯,查詢的時候,能直接定位到關聯數據,或者被關聯數據,例如user1表有個外檢欄位classroom指向classroom表的主鍵id,在查詢classroom表數據的時候,可以在id欄位上右鍵,go to,referencing data

選擇要顯示第一條數據還是顯示所有數據

會自動打開關聯表的數據

相反,查詢字表的數據時,也能自動定位到父表

「6、結果集數據過濾」

對於使用table edit(對象樹中選中表,右鍵->table editor)打開的結果集,可以使用條件繼續過濾結果集,如下圖所示,可以在結果集左上角輸入款中輸入where條件過濾

也可以對著需要過濾數據的列右鍵,filter by過濾

「7、行轉列」

對於欄位比較多的表,查看數據要左右推動,可以切換成列顯示,在結果集視圖區域使用Ctrl+Q快捷鍵

1、變數重命名

滑鼠點擊需要重命名的變數,按下Shift+F6快捷鍵,彈出重命名對話框,輸入新的名稱

2、自動檢測無法解析的對象

如果表名、欄位名不存在,datagrip會自動提示,此時對著有問題的表名或欄位名,按下Alt+Enter,會自動提示是否創建表或添加欄位

3、許可權定欄位名

對於查詢使用表別名的,而欄位中沒有使用別名首碼的,datagrip能自動添加首碼,滑鼠停留在需要添加別名首碼的欄位上,使用Alt+Enter快捷鍵

4、*通配符自動展開

查詢的時候我們會使用select _查詢所有列,這是不好的習慣,datagrip能快速展開列,游標定位到_後面,按下Alt+Enter快捷鍵

5、大寫自動轉換

sql使用大寫形式是個好的習慣,如果使用了小寫,可以將游標停留在需要轉換的欄位或表名上,使用Ctrl+shift+U快捷鍵自動轉換

6、sql格式化

選中需要格式化的sql代碼,使用Ctrl+Alt+L快捷鍵

「datagrip提供了一個功能強大的編輯器,實現了notpad++的列編輯模式」

1、多游標模式

在編輯sql的時候,可能需要同時輸入或同時刪除一些字元,按下alt+shift,同時滑鼠在不同的位置點擊,會出現多個游標

2、代碼註釋

選中要註釋的代碼,按下Ctrl+/或Ctrl+shift+/快捷鍵,能註釋代碼,或取消註釋

3、列編輯

按住鍵盤Alt鍵,同時按下滑鼠左鍵拖動,能選擇多列,拷貝黏貼等操作

4、代碼歷史

在文本編輯器中,郵件,local history,show history,可以查看使用過的sql歷史

命令歷史

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!

5.《Java開發手冊(嵩山版)》最新發佈,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 4月28日晚上19點,知識賦能第五期第二節課《如何成為OpenHarmony社區貢獻達人?》,在OpenHarmony開發者成長計劃社群內成功舉行。 ...
  • 前言 ​ 分析用戶行為,需要標識用戶。選擇合適的用戶標識,可以提高用戶行為分析的準確性,尤其是是漏洞留存分析等,這些和用戶分析相關的功能。對於唯一標識一個用戶,我們需要考慮兩種場景。 用戶登陸之前如何標識 用戶登陸之後如何標識 一、登陸之前 業界一般使用 iOS 設備的某個特定屬性或者某幾個特定屬性 ...
  • 註意保存自己的筆記吧,看來這個typora還是有點bug,居然還被我碰到了,今天突然死機,重啟電腦後,看我自動保存的裡面居然沒有後來連上網了又有了,這就不說了嘛,但是命名文件有幾kb的大小,為什麼我一點開就是空白,我又重新開始學了,重新做一份筆記,還好代碼量不是很大,看來以後時常要ctrl+s常按了 ...
  • 字元集和字元編碼 字元集就是字元的集合,如常見的 ASCII字元集,GB2312字元集,Unicode字元集等。這些不同字元集之間最大的區別是所包含的字元數量的不同。 字元編碼則代表字元集的實際編碼規則,是用於電腦解析字元的,如 GB2312,GBK,UTF-8 等。字元編碼的本質就是如何使用二進 ...
  • 大家好,我是半夏👴,一個剛剛開始寫文的沙雕程式員.如果喜歡我的文章,可以關註➕ 點贊 👍 加我微信:frontendpicker,一起學習交流前端,成為更優秀的工程師~關註公眾號:搞前端的半夏,瞭解更多前端知識! 點我探索新世界! 原文鏈接 ==>http://sylblog.xin/archi ...
  • 微服務概覽 微服務是圍繞業務領域建模可獨立發佈的服務。服務封裝了對應功能並可以通過網路被其他服務訪問。 從外部來看,單個微服務被視為一個黑盒子。它使用最合適的協議在一個或多個網路端點(例如,隊列或REST API)上承載業務功能。消費者,無論他們是其他微服務還是其他類型的程式,都通過這些聯網的端點來 ...
  • 一個工作了6年的Java程式員,在阿裡二面,被問到“volatile”關鍵字。 然後,就沒有然後了… 同樣,另外一個去美團面試的工作4年的小伙伴,也被“volatile關鍵字“。 然後,也沒有然後了… 這個問題說實話,是有點偏底層,但也的確是併發編程裡面比較重要的一個關鍵字。 下麵,我們來看看普通人 ...
  • ( SpringCloud Gateway 整合Springfox/SwaggerUI3 之後調用某一個服務的介面時,請求路徑不會加上對應的服務名問題 ) 寫在前邊 當你看到這篇文章時,預設已經整合好了Springcloud/gateway/springfox(swaggerui3), 僅僅是在進行 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...