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 相关文章推荐
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
Python 实现删除某路径下文件及文件夹的实例讲解
Apr 24 Python
Python requests模块实例用法
Feb 11 Python
Python远程视频监控程序的实例代码
May 05 Python
python set内置函数的具体使用
Jul 02 Python
详解Django 时间与时区设置问题
Jul 23 Python
python写入数据到csv或xlsx文件的3种方法
Aug 23 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
python实现图片转字符画
Feb 19 Python
Python简易开发之制作计算器
Apr 28 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 $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
php判断变量类型常用方法
2012/04/24 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php自定文件保存session的方法
2014/12/10 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
用python实现的线程池实例代码
2018/01/06 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
python 实现两个npy档案合并
2020/07/01 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
护士自荐信范文
2013/12/15 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
学校教代会开幕词
2016/03/04 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis