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内置函数bin() oct()等实现进制转换
Dec 30 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python import用法以及与from...import的区别
May 28 Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
在Python中定义一个常量的方法
Nov 10 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
python实时监控logstash日志代码
Apr 27 Python
python中rc1什么意思
Jun 19 Python
使用Python pip怎么升级pip
Aug 11 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 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 str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
了解重排与重绘
2019/05/29 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
python实现俄罗斯方块游戏
2020/03/25 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python devel安装失败问题解决方案
2020/06/09 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
物流管理专业推荐信
2014/09/06 职场文书
学风建设演讲稿
2014/09/12 职场文书
2014年检验科工作总结
2014/11/22 职场文书
体育部部长竞选稿
2015/11/21 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
SQL写法--行行比较
2021/08/23 SQL Server
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技