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 相关文章推荐
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
python实现控制台打印的方法
Jan 12 Python
Python子类继承父类构造函数详解
Feb 19 Python
Python实现打印实心和空心菱形
Nov 23 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Tensorflow Summary用法学习笔记
Jan 10 Python
python同时遍历两个list用法说明
May 02 Python
plt.figure()参数使用详解及运行演示
Jan 08 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
第九节 绑定 [9]
2006/10/09 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
python链接Oracle数据库的方法
2015/06/28 Python
python统计日志ip访问数的方法
2015/07/06 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Python中的全局变量如何理解
2020/06/04 Python
python如何查看网页代码
2020/06/07 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
全球性的在线商店:Vogca
2019/05/10 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
《独坐敬亭山》教学反思
2014/04/08 职场文书
实习报告评语
2014/04/26 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
小学师德师风整改措施
2014/10/27 职场文书
教师节主题班会方案
2015/08/17 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
React四级菜单的实现
2022/04/08 Javascript
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript