在 Python 中使用 MySQL 存储过程实现复杂查询
要在 Python 中使用 MySQL 存储过程实现复杂查询,需要先连接到 MySQL 数据库,然后使用 Python 的 MySQL 连接库来创建存储过程。以下是一个示例代码:
import mysql.connector # 连接数据库 cnx = mysql.connector.connect(user='user', password='password', host='localhost', database='database') # 创建存储过程 cursor = cnx.cursor() create_proc = """ CREATE PROCEDURE complex_query(IN keyword VARCHAR(255)) BEGIN SELECT id, title, body FROM posts WHERE title LIKE CONCAT('%', keyword, '%') OR body LIKE CONCAT('%', keyword, '%') ORDER BY created_at DESC; END; """ cursor.execute(create_proc) # 调用存储过程 call_proc = "CALL complex_query('pidancode.com')" cursor.execute(call_proc) # 处理结果集 for result in cursor: print(result) # 关闭连接 cursor.close() cnx.close()
这个示例代码演示了如何创建一个存储过程,在其中执行一个复杂的查询,并返回结果集。其中,存储过程接受一个关键字参数,用于在标题和正文中进行模糊搜索,返回最新的帖子。在调用存储过程时,可以将关键字作为参数传递,然后处理返回的结果集。
相关文章