在Python中,给SQL语句传递参数可以通过以下几种方法:
1. 使用字符串格式化:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %s"value = 'your_value'cursor.execute(sql, value)results = cursor.fetchall()cursor.close()conn.close()
2. 使用组传递参数:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %s"values = ('your_value',)cursor.execute(sql, values)results = cursor.fetchall()cursor.close()conn.close()
3. 使用字典传递参数:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %s AND your_column2 = %s"values = ('your_value1', 'your_value2')cursor.execute(sql, values)results = cursor.fetchall()cursor.close()conn.close()
4. 使用`%s`作为占位符:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %s"value = 'your_value'cursor.execute(sql, value)results = cursor.fetchall()cursor.close()conn.close()
5. 使用`%d`作为占位符传递整数参数:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %d"value = 123cursor.execute(sql, value)results = cursor.fetchall()cursor.close()conn.close()
6. 使用`%f`作为占位符传递浮点数参数:
import pymysqlconn = pymysql.connect(host='localhost', user='your_user', password='your_password', db='your_db')cursor = conn.cursor()sql = "SELECT * FROM your_table WHERE your_column = %f"value = 123.456cursor.execute(sql, value)results = cursor.fetchall()cursor.close()conn.close()
请注意,在使用参数化查询时,务必确保参数值的正确转义,以避免潜在的SQL注入风险。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/71499.html