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计算程序运行时间的方法
Dec 13 Python
Python原始字符串与Unicode字符串操作符用法实例分析
Jul 22 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
详解python里使用正则表达式的全匹配功能
Oct 19 Python
用Python实现KNN分类算法
Dec 22 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
Django中create和save方法的不同
Aug 13 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
Django 路由控制的实现代码
2018/11/08 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python带参数打包exe及调用方式
2019/12/21 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
专题组织生活会思想汇报
2014/10/01 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
校园新闻稿范文
2015/07/18 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS