能不能用pymysql库达到上面的操作?
时间: 2023-10-24 12:15:19 浏览: 82
是的,你也可以使用 `pymysql` 库来创建 MySQL 存储过程,下面是示例代码:
```python
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', db='test')
# 创建游标
cursor = db.cursor()
# 创建存储过程
create_proc = """
CREATE PROCEDURE my_proc()
BEGIN
SELECT * FROM my_table;
END
"""
# 执行存储过程
cursor.execute(create_proc)
# 提交更改
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
```
需要注意的是,在使用 `pymysql` 库时,连接数据库的方式与 `MySQLdb` 有所不同。此外,所有的 `MySQLdb` 库的方法都可以在 `pymysql` 库中找到,因此你可以使用类似的方式来调用存储过程:
```python
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', db='test')
# 创建游标
cursor = db.cursor()
# 调用存储过程
cursor.callproc('my_proc')
# 获取存储过程的结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
# 关闭游标和数据库连接
cursor.close()
db.close()
```
这里的 `callproc()` 方法与 `MySQLdb` 库中的方法相同。你只需要将存储过程的名称作为参数传递给该方法,并使用 `fetchall()` 方法获取结果。最后,关闭游标和数据库连接即可。
阅读全文