【已解决】Python使用sql语句模糊查询报错:python中TypeError: not enough arguments for format string
2021-03-26-19:54:13
今天下午对世界疫情详情数据库进行模糊查询。
首先要明确一点:使用模糊查询就会用到WHERE语句中的LIKE语句,主要说一下在使用 % 的时候要注意的点:
在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%。
将在Python中执行的sql语句改为:
sql = "SELECT * FROM table_test WHERE value LIKE '%%%%%s%%%%'" % test_value
执行成功,print出SQL语句之后为:
SELECT * FROM table_test WHERE value LIKE '%%public%%'
Python在执行sql语句的时候,同样也会有%格式化的问题,
仍然需要使用%%来代替%。因此要保证在执行sql语句的时候格式化正确。
而不只是在sql语句(字符串)的时候正确。
1 sql = " SELECT * FROM world WHERE continent LIKE '%%%%%s%%%%'" %continent
在Python解析第一次之后sql语句会变成这样:
SELECT * FROM world WHERE continent LIKE '%%美洲%%'
这时候字符串两边的百分号是两个,原来是四个,但是在执行sql语句的时候,Python还会再解析一次%,所以原始字符串需要四个百分号
来表示一个百分号。
在sql语句里是支持对变量的插入的,比如:
1 sql_temp = " SELECT * FROM world WHERE c_name LIKE '"+c_name+"'"
1 ql = " SELECT * FROM world WHERE continent LIKE '%%%%%s%%%%'" %continent
总结几个sql常用语句:
我们查询的时候经常需要用到排序以及数据包含和不包含的筛选条件:
1 sql = 'SELECT province,city,confirm,heal,dead FROM details ' \
2 'where update_time=(select update_time from details order by update_time desc limit 1) '\
3 ' and city not in ("境外输入","地区待确认") '
按日期降序:
1 sql = " SELECT * FROM world WHERE c_name LIKE '%%%%%s%%%%' order by dt desc "%c_name

原文链接:https://blog.csdn.net/xinqing0909/article/details/80775234
【已解决】Python使用sql语句模糊查询报错:python中TypeError: not enough arguments for format string的更多相关文章
- Sql语句模糊查询字符串的两种写法
Sql语句模糊查询有两种写法,一种是在jdbcTemplate的查询方法参数里拼接字符串%,一种是在Sql语句里拼接%字符串. public class IsNameDaoImpl implement ...
- sql注入--双查询报错注入
sql注入--双查询报错注入 背景:在sqli-labs第五关时,即使sql语句构造成功页面也没有回显出我们需要的信息,看到了有使用双查询操作造成报错的方式获得数据库信息,于是研究了一下双查询的报错原 ...
- Python TypeError: not enough arguments for format string
今天使用mysqldb执行query语句的时候,在执行这条语句的时候: select PROJ, DATE_FORMAT(MAX(DATE),'%Y-%m-%') AS MAXDATE, DATE_F ...
- 使用Python过程出现的细节问题:TypeError: not enough arguments for format string
今天使用字符串格式化时,遇到的一点小问题:调用这个方法解释器出错了:TypeError: not enough arguments for format string def ll(name,age) ...
- sql注入--双查询报错注入原理探索
目录 双查询报错注入原理探索 part 1 场景复现 part 2 形成原因 part 3 报错原理 part 4 探索小结 双查询报错注入原理探索 上一篇讲了双查询报错查询注入,后又参考了一些博客, ...
- Javaweb问题解决--在.java文件里面写sql语句模糊查询不成功的原因
问题描述 在上学期,我就遇到了这个问题(别骂别骂),然后当时卡住之后,Mybatis闯入了我的视线,然后直接换用了较为方便的Mybatis框架结构,这个问题也就被搁置了,今天重新提起,优势慢慢地查阅了 ...
- jdbcTemplate异常:like模糊查询报错(Parameter index out of range (1 > number of parameters)
http://cuisuqiang.iteye.com/blog/1480525 模糊查询like要这样写 注意Object参数和like语法 public static void main( ...
- 【已解决】error setting certificate verify locations报错
目录 1.问题描述 2.问题分析 3.解决方法 1.问题描述 在公司的电脑上从Github上clone项目的时候git黑窗口报错"error setting certificate veri ...
- SQL语句模糊查询年月
<if test="uploadTime != null" > <![CDATA[ and date_format(w.upload_time, '%Y%m') ...
- 解决thinkphp query()执行原生SQL语句成功结果报错的问题
1.query方法 query方法用于执行SQL查询操作,如果数据非法或者查询错误则返回false,否则返回查询结果数据集(同select方法). 2.execute方法 execute用于更新和写入 ...
随机推荐
- Java Socket编程系列(二)开发带回声功能的Server和Client
服务器端: package com.dylan.socket; import java.io.*; import java.net.ServerSocket; import java.net.Sock ...
- Oracle设置日志参数-ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
要实现两个数据库之间的实时同步,需要给Oracle设置参数 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -- 执行了12小时,等待数据库中的其它事务都提交以后才 ...
- 任务系统之API子任务
日常运维工作中有许多的任务要执行,例如项目发布/数据备份/定时巡检/证书更新/漏洞修复等等,大部分的任务都会有多个步骤共同完成,例如一个发布任务会有拉代码.编译.分发.通知等等步骤,而不同的任务可能还 ...
- 【Azure Redis 缓存】Redis性能指标之Server Load
Server Load描述 在Redis的官方介绍中,Server Load指标是Redis 服务器忙于处理消息并且非空闲等待消息的周期百分比. 如果此计数器达到 100,则意味着 Redis 服务器 ...
- 【Azure 事件中心】关闭或开启Azure Event Hub SDK中的日志输出
问题描述 使用Azure Event Hub的Java SDK 作为消费端消费消息,集成在项目中后,发现大量日志产生,并且都是Debug 级别日志,如何来关闭这部分日志输出呢? import com. ...
- 【Azure 应用服务】如何禁止chinacloudsites.cn 访问?
问题描述 Azure App Service创建后,默认会有一个 Azure App Service创建后,默认会有一个 https://xxxxxxxxxxxxx.chinacloudsites. ...
- java GUI 快速入门
java 中编写 GUI 有两中工具包,分别为 AWT.Swing. Swing 是 AWT 的拓展,Swing 具有比 AWT 丰富的组件和方法. AWT 和 Swing 都能跨平台使用:AWT 会 ...
- 我的Java面试资料推荐
看法 每年去大厂试试水,借此来评估自己的能力.价值和不足,或许还能拿到一个好offer,是个合格程序员的职业表现 大厂面试,基本都是:先过算法,检验面试人的智商和逻辑能力:之后才考察语言.设计.中间件 ...
- Kali 获取任意设备信息
注意:仅供测试 请勿商用 可获取对方位置 误差小于500m 访问摄像头 访问麦克风 一. 安装环境 #01 mac 安装虚拟机 下载地址:https://www.macyy.cn/archives/1 ...
- ansible 自动化运维(2)
回到顶部 Ansible playbook 简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 tasks ,可以 ...