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

问题描述 投票:1回答:1

我有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()方法中。

python sql arrays sqlite hex
1个回答
0
投票

基于@Alex评论:

“SELECT... IN (x'" + str("', x'".join(hashes)) + "');”
© www.soinside.com 2019 - 2024. All rights reserved.