使用Python中的长十六进制字符串构建SQL查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python中的长十六进制字符串构建SQL查询相关的知识,希望对你有一定的参考价值。

我有md5哈希数组作为十六进制字符串:

hashes = ['abcdefabcdefabcdef', '12f456789012345678', 'acd24ef6dcbe98753a']

我需要构建一个SQL查询来通过哈希查找记录。如果我手动创建一个查询,它看起来像这个"SELECT * FROM mytable WHERE hash IN (x'abcdefabcdefabcdef', x'12f456789012345678', x'acd24ef6dcbe98753a')"

对于单个哈希,我会使用字符串格式,就像这个"SELECT * ... WHERE md5 = x'%s'" % hash

但是我不知道如何使用Python中的数组转换来构建查询,以将其放入sqlite3的cursor.execute()方法中。

答案

基于@Alex评论:

“SELECT... IN (x'" + str("', x'".join(hashes)) + "');”

以上是关于使用Python中的长十六进制字符串构建SQL查询的主要内容,如果未能解决你的问题,请参考以下文章

为啥二进制中的 Sql Server 图像在字符串查询中导致问题但在参数化查询中有效

python中的长文本作为字符串

python 缩短python中的长字符串,这样东西就不会泛滥

使用 Python 进行 SQL 查询中的字符串替换

sql 一组方便的查询,用于检查空间项目二进制文件(即多媒体组件,模板构建块组件)正在使用多少空间项目

将十六进制字符串转换为相同格式的长字符串[重复]