python 操作数据库( MySQLdb/pymysql)构造sql语句,避免引号问题)

  • 不要用字符串格式化方式、拼接SQL语句
    • SQL注入风险
    • 操作的内容中有单引号(')、双引号(")、转义符时出错
  • 使用数据库操作内库提供的方法
    • pymysql
# Don't do:
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)" % (val1, val2)
cursor.execute(sql)

# Do:
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)"
cursor.execute(sql, (val1, val2))

你可能感兴趣的:(python 操作数据库( MySQLdb/pymysql)构造sql语句,避免引号问题))