Python处理mysql特殊字符的问题

作者:weixin_41571449 时间:2024-01-17 01:28:38 

有的时候我们会去扫表,然后拿出扫的结果再到另一张表里去查信息。比如下面一段


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-%%'

来源:https://blog.csdn.net/weixin_41571449/article/details/79214702

标签:Python,mysql,特殊字符
0
投稿

猜你喜欢

  • pygame学习笔记(3):运动速率、时间、事件、文字

    2023-05-20 21:19:38
  • 一篇文章带你学习python的函数与类

    2023-10-15 05:04:18
  • 浅谈Python 命令行参数argparse写入图片路径操作

    2023-03-18 21:08:11
  • 教你如何利用python3爬虫爬取漫画岛-非人哉漫画

    2021-10-01 23:06:57
  • js滑动展开与折叠效果(收缩)

    2007-10-09 13:17:00
  • MySQL 与 Elasticsearch 数据不对称问题解决办法

    2024-01-23 13:43:57
  • Python如何通过subprocess调用adb命令详解

    2023-03-30 13:10:19
  • Python中关于文件的具体操作与介绍

    2022-03-25 20:27:24
  • JavaScript图片放大镜效果

    2009-10-19 22:15:00
  • Python序列化模块JSON与Pickle

    2022-11-06 00:24:37
  • 使用 SQL 语句实现一个年会抽奖程序的代码

    2024-01-25 06:28:36
  • python解释模型库Shap实现机器学习模型输出可视化

    2022-04-27 08:00:10
  • INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别

    2012-06-06 19:38:28
  • python实现网上购物系统

    2021-06-12 16:32:26
  • pycharm 2018 激活码及破解补丁激活方式

    2021-10-16 12:10:00
  • 关于vuex状态刷新网页时数据被清空问题及解决

    2024-04-30 10:22:18
  • python pdb调试方法分享

    2022-02-15 22:39:22
  • Python 实现局域网远程屏幕截图案例

    2021-05-13 13:43:43
  • python实现希尔密码加密的示例代码

    2022-06-16 07:55:31
  • 详解有关PyCharm安装库失败的问题的解决方法

    2023-05-17 11:06:33
  • asp之家 网络编程 m.aspxhome.com