Python处理mysql特殊字符的问题


Posted in Python onMarch 02, 2020

有的时候我们会去扫表,然后拿出扫的结果再到另一张表里去查信息。比如下面一段

index_sql_str = "select %s from user where %s = %d" % ("social_id", "user_id", u_id)
  db_cursor.execute(index_sql_str)
  rows = ['"' + row[0] + '"' for row in db_cursor.fetchall()]
  if len(rows) == 0:
    return None
  result = []
  sql_str = "select %s user_detail where %s in (%s)" % (",".join(user_third_column_name), "social_id", ",".join(rows))
  db_cursor.execute(sql_str)

常会有用%s或者+拼接query string的情况,这时候如果拿出来的键值带有'或''就会导致拼接出现问题。

可以考虑用format,即

>>> a = 'test"test'
>>> "insert into user {0}".format(a)
'insert into user test"test'
>>> b = "test'test"
>>> "insert into user {0} where {1} = x".format(a,b)
'insert into user test"test where test\'test = x'

如果大小写都包含会自己增加转义字符

补充拓展:基于python中写mysql关于like % 的问题

#@ 1 - 正常执行的mysql 语句为:
 select * from RESIDENTIAL_AREA where RA_ID like 'HF-%' 
 
#@ 2 - 在python 代码中为: 最后面的那个 % 需要4个% 去代替(raid = HF-)
select_sql = ''' select * from RESIDENTIAL_AREA where RA_ID 
  like '%s%%%%' ''' % (raid)
 
 
 
#@ 3 - python 代码中 输出结果为:print(select_sql)
 select * from RESIDENTIAL_AREA where RA_ID like 'HF-%%'

以上这篇Python处理mysql特殊字符的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pyramid添加Middleware的方法实例
Nov 27 Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
python基础之入门必看操作
Jul 26 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
python后端接收前端回传的文件方法
Jan 02 Python
python实现AES加密解密
Mar 28 Python
python3 pillow模块实现简单验证码
Oct 31 Python
Python笔记之观察者模式
Nov 20 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
python七种方法判断字符串是否包含子串
Aug 18 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
新手入门学习python Numpy基础操作
Mar 02 #Python
python中数据库like模糊查询方式
Mar 02 #Python
python读取文件指定行内容实例讲解
Mar 02 #Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 #Python
python判断两个序列的成员是否一样的实例代码
Mar 01 #Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
Mar 01 #Python
Python猜数字算法题详解
Mar 01 #Python
You might like
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
python判断字符串是否包含子字符串的方法
2015/03/24 Python
解决python 输出是省略号的问题
2018/04/19 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
django初始化数据库的实例
2018/05/27 Python
python文字转语音实现过程解析
2019/11/12 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
仓管岗位职责范本
2014/02/08 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
五水共治一句话承诺
2014/05/30 职场文书
教师专业自荐信
2014/05/31 职场文书
数学教研活动总结
2014/07/02 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
先进班集体申报材料
2014/12/26 职场文书
话题作文之呼唤
2019/12/18 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS
解决MySQL报“too many connections“错误
2022/04/19 MySQL