PyQt5中数据库的连接


from PyQt5.QtSql import QSqlQuery, QSqlDatabase

# 一个QSqlDatabase实例就代表了一个连接
# 通过静态方法addDatabase()构造一个QSqlDatabase来构造一个连接,调用这个方法时可以指定driver或driver type和连接名。
db = QSqlDatabase.addDatabase("QMYSQL")  # 建立一个MYSQL数据库
db.setHostName('localhost')  # 设置数据库所在的主机名称
db.setDatabaseName('test.db')  # 设置要连接的数据库名称
db.setUserName('root')
db.setPassword('root')

if db.open():
    print('1')
else:
    print('0')

db.close()

# output: 0
Question:

请问这里为什么没有打开数据库? 也就是为什么没有输出1呢?

亲亲,先确认下mysql服务是否已经在启动状态,如果已启动,请尝试下面添加端口号

db.setPort(3306)

默认mysql是3306,不过在你的主机上也可能不是这个哦,请好好核对下。

谢谢啦,但是我换了一种 用了pymysql库解决了。这个不知道为啥 ,我端口号也是3306的