在PyQt中連接SQL數(shù)據(jù)庫(kù),你可以使用QSqlDatabase
類來(lái)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接。以下是一個(gè)基本的示例,展示了如何使用PyQt5和MySQL數(shù)據(jù)庫(kù)進(jìn)行連接:
首先,確保你已經(jīng)安裝了PyQt5和MySQL的Python驅(qū)動(dòng)(如mysqlclient
或PyMySQL
)。
然后,你可以使用以下代碼來(lái)連接到MySQL數(shù)據(jù)庫(kù):
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
def create_connection():
db = QSqlDatabase.addDatabase('QMYSQL') # 使用QMYSQL驅(qū)動(dòng)
db.setHostName('localhost') # 設(shè)置數(shù)據(jù)庫(kù)主機(jī)名
db.setDatabaseName('your_database_name') # 設(shè)置數(shù)據(jù)庫(kù)名
db.setUserName('your_username') # 設(shè)置數(shù)據(jù)庫(kù)用戶名
db.setPassword('your_password') # 設(shè)置數(shù)據(jù)庫(kù)密碼
if not db.open():
print("Error: Unable to connect to database")
return False
return True
def query_data():
if not db.open():
print("Error! Cannot open database")
return
query = QSqlQuery()
query.exec_("SELECT * FROM your_table_name") # 替換為你的表名
while query.next():
print(query.value(0).toString()) # 打印第一列的值,你可以根據(jù)需要修改
app = QApplication(sys.argv)
main_window = QMainWindow()
if create_connection():
query_data()
main_window.show()
sys.exit(app.exec_())
請(qǐng)注意,你需要將your_database_name
、your_username
、your_password
和your_table_name
替換為實(shí)際的數(shù)據(jù)庫(kù)名稱、用戶名、密碼和表名。
此外,如果你使用的是PyMySQL
作為驅(qū)動(dòng),你需要在代碼開(kāi)始處添加以下行來(lái)導(dǎo)入它:
import pymysql
并相應(yīng)地更改QSqlDatabase.addDatabase('QMYSQL')
為QSqlDatabase.addDatabase('QMySQL')
。
希望這可以幫助你開(kāi)始使用PyQt連接SQL數(shù)據(jù)庫(kù)!