使用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中的长字符串,这样东西就不会泛滥