python执行mysql数据库的sql语句,且sql语句是变量,表名和查询条件由外部传参
时间: 2023-11-21 15:49:37 浏览: 89
解决python 执行sql语句时所传参数含有单引号的问题
5星 · 资源好评率100%
要执行MySQL数据库的SQL语句,可以使用Python的MySQL连接库,如`pymysql`或`mysql-connector-python`。以下是一个示例代码,演示如何执行可变的SQL语句,其中表名和查询条件由外部传递的参数指定。
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='username', password='password', db='database_name')
# 创建游标对象
cursor = conn.cursor()
def execute_sql(table_name, query_condition):
try:
# 构造SQL语句
sql = f"SELECT * FROM {table_name} WHERE {query_condition};"
# 执行SQL语句
cursor.execute(sql)
# 提取结果
results = cursor.fetchall()
# 输出结果
for row in results:
# 处理每一行数据
print(row)
except Exception as e:
print(f"Error: {e}")
finally:
# 关闭游标和数据库连接
cursor.close()
conn.close()
# 传递参数执行SQL语句
execute_sql("table_name", "column_name='value'") # 传递表名和查询条件作为参数
```
请注意,此处示例使用了f-string(Python 3.6以上版本)来构造SQL语句,确保在使用时替换`host`,`port`,`user`,`password`和`db`为相应的数据库连接参数,并根据需求修改SQL语句的构造方式和结果的处理方式。
阅读全文