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进阶教程之文本文件的读取和写入
Aug 29 Python
跟老齐学Python之大话题小函数(1)
Oct 10 Python
Python的Flask框架中web表单的教程
Apr 20 Python
Python去除字符串两端空格的方法
May 21 Python
Mac 上切换Python多版本
Jun 17 Python
python opencv之分水岭算法示例
Feb 24 Python
Python单元测试实例详解
May 25 Python
python写入文件自动换行问题的方法
Jul 05 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
python代码能做成软件吗
Jul 24 Python
利用Python多线程实现图片下载器
Mar 25 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
Codeigniter校验ip地址的方法
2015/03/21 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python构建XML树结构的方法示例
2017/06/30 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
python实现机器学习之元线性回归
2018/09/06 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
家庭教育先进个人事迹材料
2014/01/24 职场文书
工作自我评价怎么写
2014/01/29 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
我的小天地教学反思
2014/04/30 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
银行员工考核评语
2014/12/31 职场文书
公司开除员工通知
2015/04/22 职场文书
2015年采购员工作总结
2015/04/27 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
业余无线电通联Q语
2022/02/18 无线电