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的*args和**kwargs用法
Nov 01 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
pandas分组聚合详解
Apr 10 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 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 表单提交给自己
2008/07/24 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
浅析PHP文件下载原理
2014/12/25 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
Python Requests安装与简单运用
2016/04/07 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python request使用方法及问题总结
2020/04/26 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
上海期货面试题
2014/01/31 面试题
文明村创建实施方案
2014/03/27 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL