使用pymysql连接数据库
时间: 2023-10-24 21:16:43 浏览: 153
可以使用pymysql模块来连接MySQL数据库。以下是一个示例代码,演示如何连接MySQL数据库并执行查询:
```python
import pymysql
# 连接到数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='test_db',
charset='utf8mb4'
)
# 使用cursor()方法创建一个游标对象
cursor = conn.cursor()
# 执行查询
sql = "SELECT * FROM users"
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchall()
for row in result:
print(row)
# 关闭游标和连接
cursor.close()
conn.close()
```
在此示例中,我们首先使用`pymysql.connect()`方法连接到数据库。然后,我们使用`cursor()`方法创建一个游标对象,该对象用于执行查询。执行查询后,我们使用`fetchall()`方法获取所有结果,并使用循环打印每一行。最后,我们关闭游标和连接。
相关问题
使用pymysql连接数据库blog
好的,以下是连接 MySQL 数据库并操作 blog 数据库的示例代码:
```python
import pymysql
# 数据库连接
connection = pymysql.connect(
host='localhost',
user='root',
password='password',
db='blog',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
try:
with connection.cursor() as cursor:
# 读取数据的 SQL 语句
sql = "SELECT * FROM `posts` WHERE `status`=%s"
cursor.execute(sql, ('published',))
result = cursor.fetchall()
print(result)
finally:
# 关闭数据库连接
connection.close()
```
其中,`host`、`user`、`password`、`db` 分别代表数据库的主机地址、用户名、密码和要操作的数据库名称。`charset` 指定字符集为 `utf8mb4`,可以支持存储 emoji 表情等特殊字符。`cursorclass` 指定游标类型为 `DictCursor`,可以以字典形式返回查询结果。
以上代码使用 `pymysql.connect()` 函数连接到 MySQL 数据库,并使用 `with` 语句创建一个游标对象 `cursor`,然后执行 `SELECT` 语句查询 `posts` 表中状态为 `published` 的所有记录,并将结果以字典形式存储在 `result` 变量中。最后,使用 `finally` 语句关闭数据库连接。
你可以根据自己的需求,修改 SQL 语句和参数,来实现不同的数据库操作。
pyqt tableview mysql_PyQt5 QTableView使用pymysql连接数据库的方法
下面是使用PyQt5和PyMySQL连接MySQL数据库并在QTableView中显示数据的示例代码:
```python
import pymysql
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 连接MySQL数据库
self.db = QSqlDatabase.addDatabase('QMYSQL')
self.db.setHostName('localhost') # MySQL服务器地址
self.db.setUserName('root') # 用户名
self.db.setPassword('password') # 密码
self.db.setDatabaseName('testdb') # 数据库名
if not self.db.open():
print('无法连接数据库')
sys.exit(1)
# 查询数据
query = QSqlQuery()
query.exec_("SELECT * FROM table_name")
# 创建数据模型
model = QSqlTableModel()
model.setQuery(query)
# 创建表格视图
table_view = QTableView()
table_view.setModel(model)
self.setCentralWidget(table_view)
self.setWindowTitle('MySQL Table')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
```
其中,需要将`localhost`替换为你的MySQL服务器地址,`root`替换为你的用户名,`password`替换为你的密码,`testdb`替换为你的数据库名,`table_name`替换为你要查询的表名。
阅读全文