返回顶部
首页 > 资讯 > 数据库 >SQL中怎么实现WHERE IN参数化编译
  • 357
分享到

SQL中怎么实现WHERE IN参数化编译

2024-04-02 19:04:59 357人浏览 独家记忆
摘要

这篇文章主要为大家展示了“sql中怎么实现WHERE IN参数化编译”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL中怎么实现WHERE I

这篇文章主要为大家展示了“sql中怎么实现WHERE IN参数化编译”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL中怎么实现WHERE IN参数化编译”这篇文章吧。

例子

业务需求,需要通过SQL语句从asset资产表中查询域名字段在(“thief.one”,”nmask.cn”,”sec.thief.one”)范围内的数据库记录,SQL语句该怎么写呢?

拼接法(错误)

values = "'thief.one','nmask.cn','sec.thief.one'"
sql = "select * from asset where domain in ("+values+")"
print sql

说明:通过将搜索条件以字符串拼接的方式构造sql语句,语法上可通过,但存在着安全隐患(参照sql注入漏洞)

参数化1(错误)

values = (("thief.one","nmask.cn","sec.thief.one"),)
sql = "select * from asset where domain in %s"
print sql
print values

说明:通过参数化方式,将where in 后面的查询内容传入。表面上看没问题,但在编译过程中,会将(“thief.one”,”nmask.cn”,”sec.thief.one”)整体看成一个字符串,而作为查询条件,与需求不符合。

参数化2(正确)

values = ("thief.one","nmask.cn","sec.thief.one")
sql = "select * from asset where domain in ({})".fORMat(",".join(['%s' for i in values]))
print sql
print values

说明:通过计算values里面字符串个数,动态构造编译的参数。

以上是“SQL中怎么实现WHERE IN参数化编译”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: SQL中怎么实现WHERE IN参数化编译

本文链接: https://lsjlt.com/news/57303.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL中怎么实现WHERE IN参数化编译
    这篇文章主要为大家展示了“SQL中怎么实现WHERE IN参数化编译”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL中怎么实现WHERE I...
    99+
    2024-04-02
  • Mysql如何实现编译安装参数优化
    这篇文章主要为大家展示了“Mysql如何实现编译安装参数优化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql如何实现编译安装参数优化”这篇文章吧。1. ...
    99+
    2024-04-02
  • sql中in的参数怎么注入
    sql中in的参数注入示例:为where in的每一个参数生成一个参数,代码如下:using (SqlConnection conn = new SqlConnection(connectionString)){conn.Open...
    99+
    2024-04-02
  • sql参数化怎么实现防注入
    sql参数化实现防注入的示例:构造execute参数列表,让模块自动去拼装查询字符串,可防止SQL注入现象发生,代码:# 安全方式find_name = input("请输入您要查询商品的名称:")# 构造参数列表params = [fin...
    99+
    2024-04-02
  • cmake中怎么设置编译参数
    在CMake中,可以使用CMAKE_CXX_FLAGS来设置编译参数。下面是一个例子: set(CMAKE_CXX_FLAGS &q...
    99+
    2024-04-02
  • Python中怎么实现编译和反编译
    这篇文章将为大家详细讲解有关Python中怎么实现编译和反编译,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、用Pyinstaller打包python代码1. 安装Pyinstaller安...
    99+
    2023-06-16
  • Java中怎么实现条件编译
    本篇文章给大家分享的是有关 Java中怎么实现条件编译,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。条件编译绝对是一个好东西。如在C或CPP中,可以通过预处理语句来实现条件编译...
    99+
    2023-06-17
  • Android中怎么实现编译期注解
    本篇文章为大家展示了Android中怎么实现编译期注解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、编译期注解在开发中的重要性从早期令人惊艳的ButterKnife,到后来的以ARouter为首...
    99+
    2023-06-20
  • Python中怎样实现参数化测试
    Python中怎样实现参数化测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、什么是参数化测试?对于普通测试来说,一个测试方法只需要运行一遍,而参数化测试对于一个测试方法,...
    99+
    2023-06-16
  • MYSQL 中怎么实现SQL编程
    MYSQL 中怎么实现SQL编程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需求:1.实现上个月的数据全部导入到这个月,并且时间要相应进...
    99+
    2024-04-02
  • pytest怎么使用@pytest.mark.parametrize()实现参数化
    这篇文章主要介绍了pytest怎么使用@pytest.mark.parametrize()实现参数化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇pytest怎么使用@pytest.mark.parametri...
    99+
    2023-07-02
  • Python中怎么实现SQL自动化
    这篇文章给大家介绍Python中怎么实现SQL自动化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。从基础开始import pyodbc from datetime import&...
    99+
    2023-06-16
  • MLSQL中怎么实现编译时权限控制
    本篇文章为大家展示了MLSQL中怎么实现编译时权限控制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。权限控制,对于MLSQL而言的重要程度可以说是生命线。 MLSQ...
    99+
    2024-04-02
  • Linux中怎么利用wxWidgets实现静态编译
    Linux中怎么利用wxWidgets实现静态编译,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。编译静态版wxWidgets在Linux下配置wxWidgets的静态编译,...
    99+
    2023-06-13
  • CMakeList中怎么实现自动编译protobuf文件
    今天小编给大家分享一下CMakeList中怎么实现自动编译protobuf文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-04
  • SQL实现递归及存储过程中In()参数传递解决方案详解
    1.SQL递归 在SQL Server中,我们可以利用表表达式来实现递归算法,一般用于阻止机构的加载及相关性处理。 -->实现: 假设OrganiseUnit(组织机构表)中主...
    99+
    2022-11-15
    存储过程 In 参数传递
  • Python中怎么实现参数注解
    本篇文章为大家展示了Python中怎么实现参数注解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.函数定义的弊端python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但...
    99+
    2023-06-02
  • Python中怎么实现反编译可执行文件exe
    实现反编译可执行文件exe的方法有两种:静态反编译和动态反编译。 静态反编译: 静态反编译是通过对可执行文件的二进制代码进行分析...
    99+
    2023-10-22
    Python
  • MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合
    场景 在mapper接口层方法参数有id的数组和姓名的模糊搜索和类型的三个参数。 现在需要将这三个参数传递在动态sql的xml中接受并进行判断不为空。 然后查询数据库中记录在第一个参数id数组中的并且姓名是模糊搜索的并且类型是直接相等于的。...
    99+
    2020-04-27
    MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合 数据库入门 数据库基础教程 数据库 mysql
  • C++11中怎么实现参数绑定
    C++11中怎么实现参数绑定,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。lambda表达式的缺点还记得当初引入lambda表达式的原因么?向算法传递谓词时,由...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作