python执行pgsq数据库的sql语句,且sql语句是变量,表名和查询条件由外部传参
时间: 2024-03-19 16:12:24 浏览: 183
可以使用Python中的psycopg2库来执行PostgreSQL数据库的SQL语句,并且根据外部传参来生成表名和查询条件。下面是一个示例代码:
```python
import psycopg2
def execute_sql(table_name, condition):
conn = psycopg2.connect(database="your_database", user="your_username", password="your_password", host="your_host", port="your_port")
cursor = conn.cursor()
sql = "SELECT * FROM {} WHERE {}".format(table_name, condition)
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
# 处理查询结果
print(row)
cursor.close()
conn.close()
# 外部传参
table_name = "your_table"
condition = "your_condition"
execute_sql(table_name, condition)
```
在上面的代码中,`table_name`和`condition`是外部传入的参数,根据这些参数生成SQL语句并执行查询操作。你需要根据实际情况修改连接数据库的参数`database`、`user`、`password`、`host`和`port`,以及根据需要处理查询结果的部分。
需要注意的是,在实际应用中,可以根据安全考虑,使用参数化查询来避免SQL注入攻击。这里只是简单示范,具体需要根据实际情况进行安全处理。
阅读全文