程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python編程實例-PyQt5 GUI編程-PyQt5的MySQL數據庫驅動插件安裝及使用

編輯:Python

PyQt5的MySQL數據庫驅動插件安裝及使用

Qt5默認不安裝MySQL數據庫驅動,這給支持不同版本的MySQL數據庫支持提供了靈活的支持,同時也提升了MySQL數據庫使用的難度。本文將詳細介紹如何安裝MySQL數據庫驅動插件及使用。

1、軟件准備

在安裝MySQL插件之前,需要准備如下軟件:

  • MySQL數據庫,本次實例使用的版本為8.0.28,該版本自帶MySQL Connector C,因此不需要額外安裝MySQL Connector C。

  • Visual Studio 2019 社區版本,Visual Studio 2019 需要安裝 VC++功能模塊

  • Qt框架:本次實例使用的Qt框架版本為5.15.2,並安裝Qt框架源代碼

  • Python開發環境:anaconda,Anaconda的Python版本為3.9.7

  • 安裝PyQt5及其相關組件:

    pip install PyQt5==5.15.2 pyqtwebengine==5.15.2 pyqtdatavisualization==5.15.2 pyqtchart==5.15.2 pyqt3d==5.15.2 pyqt5-plugins==5.15.2.2.2 qscintilla==2.12.0
    

2、編譯MySQL數據庫驅動插件

第一步:打開Visual Studio 2019的命令行:X64 Native Tools Command Prompt for VS 2019

第二步:在命令中將目錄定位到Qt安裝目錄下的sql驅動插件目錄:

cd %QTDIR%\Src\qtbase\src\plugins\sqldrivers

本文的位置為:

C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers

第三步:配置MySQL數據庫驅動插件編譯選項:

安裝MySQL Connector C版本

qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"

本次使用的命令行如下:

qmake -- MYSQL_INCDIR="C:\Program Files\MySQL\MySQL Server 8.0\include" MYSQL_LIBDIR="C:\Program Files\MySQL\MySQL Server 8.0\lib"

注意,qmake命令必須添加當前命令行環境

第四步:編譯並安裝MySQL數據庫驅動插件

nmake sub-mysql
nmake install

編譯並安裝完成後,MySQL數據庫插件自動安裝到,Qt框架安裝位置。這裡的位置為:

C:\Qt\5.15.2\msvc2019_64\plugins\sqldrivers

最後將紅色方框中的4個文件復制到PyQt5的數據庫插件文件夾中,在這裡的位置為:

C:\Anaconda3\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers

請根據自己的Anaconda安裝查找。

第五步,將MySQL驅動支持DLL復制到Anaconda安裝目錄的根目錄下:

注意,如果不復制這些文件到Anaconda的根目錄或其他系統環境中,否則在後面的數據庫連接將不會成功。

3、連接MySQL

完成前面的步驟,就可以正常使用MySQL數據庫驅動插件了。

第一步,導入依賴庫:

import sys
from PyQt5.QtSql import QSqlDatabase

第二步,查詢當前數據庫驅動插件

drivers = QSqlDatabase.drivers()
print(drivers)

在這裡輸出的結果如下:

[‘QSQLITE’, ‘QMARIADB’, ‘QMYSQL’, ‘QMYSQL3’, ‘QODBC’, ‘QODBC3’, ‘QPSQL’, ‘QPSQL7’]

從輸出結果可以知道,QMYSQL表示MySQL數據庫驅動已經安裝成功

第三步,連接數據庫

# 加載MySQL數據庫驅動
db = QSqlDatabase.addDatabase("QMYSQL")
# 設置數據庫IP地址
db.setHostName('localhost')
# 設置數據庫端口
db.setPort(3306)
# 請根據自己的數據庫名稱修改
db.setDatabaseName('數據庫名稱')
db.setUserName('MySQL數據庫用戶名')
db.setPassword('MySQL數據庫用戶登錄密碼')
# 連接並打開數據庫
db.open()
if db.isOpen():
print("connected to mysql database")
else:
print("mysql connect failed:",db.lastError().text())
sys.exit()
# 關閉數據庫
db.close()

在這裡的輸出如下:


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved