pymysql 插入数据 转义处理
2016-05-19 17:44
399 查看
最近用pymysql把一些质量不是很高的数据源导入mysql数据库的时候遇到一点问题,主要是遇到像
pymysql
linux
\这样的具有特殊意义的字符时比较难处理。这里有一个解决方案
基本环境
python3pymysql
linux
问题描述
插入(查询)数据时遇到一些特殊字符会使得程序中断。操作失败。比如\这样的转义字符
解决方案
插入(查询)之前用 connection.escape(str)处理一下即可代码示例
import pymongo sql_pattern = "select * from my_collection where name = %s" #注意,这里直接用%s,不要给%s加引号,因为后面转移过后会自动加引号 name = "xxx\xxx" name = connection.escape(name) sql = sql_pattern%name print(sql) # select * from my_collection where name = 'xxx\\xxx' with connection.cursor() as cursor: try: cursor.execute(sql) except: print(sql) pass for r in cursor: print(r)
完
相关文章推荐
- mysql笔记之is null
- mysql 查询获取排名的方法(绝对有效)
- mysql 导入 创建utf-8数据库
- 非常规方式更改mysql root密码
- mysql 自带指令 mysqlshow
- 密码忘记不重启mysql更改root密码
- mysql配置优化
- mac下mysql workbench导出数据库
- MySql-如何查询删除数据表重复记录
- sql点滴—mysql中查询表的信息
- mysql 定时任务创建开启修改关闭实现
- MySQL左连接,右连接,内连接,union
- windows 下 mysql 重置密码
- windows 下 mysql 重置密码
- mysql的主从配置以及主主配置
- mysql 连接多行 合并多行
- MySQL重置root用户密码的方法(转)
- Mysql问题分析工具
- MySQL性能分析及explain的使用说明
- Mysql 性能分析