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 相关文章推荐
Python内置函数的用法实例教程
Sep 08 Python
python写的一个squid访问日志分析的小程序
Sep 17 Python
python Django模板的使用方法
Jan 14 Python
Python利用IPython提高开发效率
Aug 10 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
python requests爬取高德地图数据的实例
Nov 10 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python的debug实用工具 pdb详解
Jul 12 Python
用django设置session过期时间的方法解析
Aug 05 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
浅谈Python 参数与变量
Jun 20 Python
浅谈pytorch中的dropout的概率p
May 27 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
PHP默认安装产生系统漏洞
2006/10/09 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
document.all与WEB标准
2020/05/13 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
Prototype框架详解
2015/11/25 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Django基于ORM操作数据库的方法详解
2018/03/27 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
护士业务学习心得体会
2016/01/25 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL