PyCharm 的數(shù)據(jù)庫工具
在軟件開發(fā)過程中,是離不開數(shù)據(jù)庫的,PyCharm 為操作數(shù)據(jù)庫提供了豐富的功能,可以在不離開PyCharm IDE 的環(huán)境下連接不同類型的數(shù)據(jù)庫,可執(zhí)行 SQL 腳本、查看結果以及導出導入數(shù)據(jù)等功能,本節(jié)課程將介紹這些常用功能在 PyCharm 中 如何使用。學習本章應該具備數(shù)據(jù)庫的基礎知識。
1. Database Tools and SQL
PyCharm 中的數(shù)據(jù)庫管理功能由 Database Toools and SQL 插件支持。該插件支持 DataGrip 中提供的所有功能(DataGrip 是開發(fā)人員的獨立數(shù)據(jù)庫管理環(huán)境,也是JetBrains公司旗下的產(chǎn)品):支持查詢、創(chuàng)建和管理各種類型數(shù)據(jù)庫, 包括 MySQL、PostgreSQL、SQL Server、SQLite、MariaDB、Oracle、Apache Cassandra 等等,其中數(shù)據(jù)庫可以在本地、在服務器上或云中工作。
為了使用PyCharm 數(shù)據(jù)庫管理功能,請確保 Databse Tools and SQL 插件是啟用的。
主菜單: PyCharm/Files -> Preference/Settings -> Plugins -> Data

PyCharm 提供 了打開數(shù)據(jù)庫工具窗口: 主菜單 View -> Tool Windows -> Database,可以進行一系列的數(shù)據(jù)庫操作。

2. 連接數(shù)據(jù)庫
若想進行數(shù)據(jù)庫操作,必須創(chuàng)建 數(shù)據(jù)源 連接。以下以連接MySQL為例介紹如何連接數(shù)據(jù)庫。其它類型數(shù)據(jù)庫連接基本是類似的,更多細節(jié)請參考。
step1: 在數(shù)據(jù)庫工具窗口中 View -> Tool Windows -> Database,單擊"Data Source Properties"圖標。
step2: 在"Data Sources and Drivers “對話框中,單擊”+"圖標并選擇 MySQL。然后根據(jù)下圖的提示輸入相應的信息。如果沒有事先下載 所選數(shù)據(jù)庫 JDBC Driver, 點擊窗口底部 Download missing driver files 鏈接直接下載即可。

Tips:每種類型的數(shù)據(jù)庫的 JDBC Driver 是可以安裝多個不同版本的,除此以外,如上圖顯示:系統(tǒng)也會自動提示更新。如想更改使用版本,在當前窗口 Drivers 下選擇要更改的數(shù)據(jù)庫類型。

step3: 測試成功后,點擊ok, 新的數(shù)據(jù)源 MySql 創(chuàng)建成功。查看 Database 與 Service 工具窗口。

3. 執(zhí)行 SQL 語句
數(shù)據(jù)庫連接成功后,就可以查詢數(shù)據(jù)庫的數(shù)據(jù)了,PyCharm 提供了多種查詢方式。
3.1 Query Console
創(chuàng)建數(shù)據(jù)源時,將自動創(chuàng)建查詢控制臺, 可以在 Services 工具欄直接點擊 Console 打開。也可以在 Database 工具窗口, 右鍵點擊數(shù)據(jù)源,選擇 open a query console, 或者按 F4。

鍵入或粘貼要執(zhí)行的語句在 console,然后執(zhí)行:

分別執(zhí)行上面的語句,顯示結果如下:

3.2 從打開文件中執(zhí)行 SQL 語句
step1: 首先要確保為項目設置了 SQL Dialects, 就是告訴系統(tǒng)以哪種類型的數(shù)據(jù)庫規(guī)則讀取語句與執(zhí)行語句。因為我們連接的是 MySQL 數(shù)據(jù)源, 所以選擇MySQL。
主菜單: PyCharm/File -> Preferences/Settings -> Languages & Frameworks -> SQL Dialect:

step2: 事先準備一個 “.sql” 文件, 或者新建一個".sql" 文件, 文件中包含多條語句。然后運行這個文件。

step3: 會彈出下面的窗口,添加目標數(shù)據(jù)源:

step4:點擊上圖按鈕 Run, 工具欄 Run 將顯示:

step5: 如果要查看每條語句的結果,在編輯區(qū)輸入??( Ctrl + Enter) 執(zhí)行, 需要先選擇執(zhí)行語句的Session??梢杂靡呀?jīng)存在的,也可以新創(chuàng)建。

Tips: 數(shù)據(jù)源連接是物理通信通道。Session 是一種信息交換狀態(tài)。單個連接可以有多個 Sessions。當使用客戶端連接到數(shù)據(jù)庫服務器時,雙方將建立一個 Session 來交換信息。
Step6: 選擇創(chuàng)建一個新 Session后,執(zhí)行語句工具欄出現(xiàn)。后面與在Query Console 執(zhí)行語句是一致的。

3.3 從硬盤直接運行文件
在 Database 工具欄中點擊數(shù)據(jù)源, 然后在上下文菜單中選擇 Run SQL Scripts....:

在"選擇路徑"窗口中,導航到要應用的 SQL 文件。后面與執(zhí)行項目中的 .sql 文件是一樣的。

4. 查看結果與編輯數(shù)據(jù)
執(zhí)行了 SQL 語句,相應的顯示結果就會顯示在 Services 工具欄,通過工具欄上按鈕可以限制顯示的條數(shù),查看表的定義等等。

可以直接編輯數(shù)據(jù)在查詢結果中,也可以增刪記錄,并且直接提交到數(shù)據(jù)庫。

當更新記錄時,選擇 Auto 模式,點擊 Submit, 更新就直接生效了,Commit 與 Rollback 按鈕一直都是不可用狀態(tài)。如果選擇 Manual 方式提交, 當有更新時,Submit 與 Commit 都會由灰色不可用變成可用狀態(tài),如果直接點擊 Commit, 更新直接生效;此時如果選擇 Submit, Rollback 按鈕由灰色變成可用狀態(tài),可以點擊它放棄更新,當然也可以繼續(xù)選擇Commit, 使更新生效。
5. 導入與導出數(shù)據(jù)
5.1 導出數(shù)據(jù)
1. 可以在 Database 工具欄選擇表、視圖直接導出到文件。下圖選擇 tables, 上下文菜單選擇 Dump Data to Files , 當然也可選擇單個某個表去導出。

在 Dump Data 窗口中選擇保存數(shù)據(jù)的格式,以及保存路徑。

2. 從結果集選擇導出數(shù)據(jù)到文件或者剪粘板。前面結果集的顯示都以Table格式顯示, 通過數(shù)據(jù)提取器的設定能以不同的格式顯示,同樣的格式也可應用于導出。通過點擊導出數(shù)據(jù) dump data 按鈕,可以把選中的數(shù)據(jù)導出。

在打開 Dump Data 窗口, 設定保存格式及路徑等,然后選擇是保存到文件還是剪粘板。

5.2 導入數(shù)據(jù)
可以在 Database 工具欄選擇數(shù)據(jù)源, 上下文菜單選擇 Run SQL Scripts... 。

在"選擇路徑"窗口中,導航到要應用的 SQL 文件。然后 Open。

3. 也可以在 Database 工具欄選擇某個表,然后在上下文菜單選擇 Import Data from File

在選擇導航到要應用的 SQL 文件,然后打開,顯示下面導入文件窗口,指定數(shù)據(jù)各項設置,點擊 OK。

6. 小結
本節(jié)主要講了 Database Tools and SQL,其功能是非常強大的,而我們只涉及到一些最常用的功能,這只是其中很小的一部分功能,感興趣同學可查看相關文檔繼續(xù)學習。
如果對于數(shù)據(jù)庫有大量與復雜的操作,筆者建議還是用 DataGrid 或者 Navicat 這些專門的數(shù)據(jù)庫工具, 在PyCharm 里,我們可以只把Database Tools 作為快速調(diào)試數(shù)據(jù)庫相關代碼,實時查看運行結果的輔助工具。

XuXinHong ·
2025 imooc.com All Rights Reserved |