PyQt 有内置的数据库连接类 QtSql 。
在使用 PyQt 连接 MySql 展示数据时,如果明确所有数据库操作都与 Qt 窗口有关,且不涉及复杂的数据操作,则可以使用内置的 QtSql 类。不需要安装额外的数据库类,且能更加便利的与 QtTableView 等 Qt 控件进行数据交互。
初始化
db = QtSql.QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('dev')
db.setUserName('root')
db.setPassword('123')
db.open()
QMYSQL 代表连接 MySql 数据库,可以通过 QtSql.QSqlDatabase.drivers() 来查询当前版本 PyQt 所支持的数据库类型。
数据库连接创建后不需要长期持有 db ,连接会一直存在,直到应用程序关闭或调用 removeDatabase() 为止才会关闭。
操作数据库
一个基础的查询命令如下:
query = QSqlQuery()
isSuccess = query.exec("select count(*) from `user`;")
if not isSuccess:
print(query.lastError().text())
if query.next():
count = query.value(0)
创建查询对象
创建 QSqlQuery 对