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
请问这里为什么没有打开数据库? 也就是为什么没有输出1呢?
亲亲,先确认下mysql服务是否已经在启动状态,如果已启动,请尝试下面添加端口号
db.setPort(3306)
默认mysql是3306,不过在你的主机上也可能不是这个哦,请好好核对下。
谢谢啦,但是我换了一种 用了pymysql库解决了。这个不知道为啥 ,我端口号也是3306的