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清除字符串里非字母字符的方法
Jul 02 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python遍历文件夹和读写文件的实现代码
Aug 28 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
Python 控制终端输出文字的实例
Jul 12 Python
用于ETL的Python数据转换工具详解
Jul 21 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 随机生成10位字符代码
2009/03/26 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
JS常用函数和常用技巧小结
2016/10/15 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python正则实现计算器功能
2017/12/14 Python
python实现电子产品商店
2019/02/26 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
python的链表基础知识点
2020/09/13 Python
安全生产工作汇报
2014/10/28 职场文书
写给领导的感谢信
2015/01/22 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
Java线程的6种状态与生命周期
2022/05/11 Java/Android
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript