使用 Python 语言,向 MySQL 中插入 SQL 语句里面有很多 '" 特殊符号 导致 SQL 报错如何处理?
时间: 2024-03-13 17:45:09 浏览: 131
在 Python 中向 MySQL 中插入 SQL 语句时,如果 SQL 语句中含有特殊符号(如单引号、双引号等),需要对这些特殊符号进行转义,否则会导致 SQL 语句报错。
可以使用 Python 中的 `MySQLdb.escape_string()` 方法来对 SQL 语句中的特殊符号进行转义。例如,将字符串变量 `s` 插入到 MySQL 数据库中,可以使用以下代码:
```python
import MySQLdb
# 连接 MySQL 数据库
conn = MySQLdb.connect(host='localhost', user='root', passwd='password', db='test', charset='utf8')
# 创建游标对象
cursor = conn.cursor()
# 准备 SQL 语句
s = 'It\'s a "good" day!'
sql = "INSERT INTO mytable (text) VALUES ('{}')".format(MySQLdb.escape_string(s))
# 执行 SQL 语句
cursor.execute(sql)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
```
在上面的代码中,使用 `MySQLdb.escape_string()` 方法将字符串变量 `s` 中的单引号和双引号转义,然后再将转义后的字符串插入到 SQL 语句中。这样可以避免 SQL 报错。
阅读全文