我有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)) + "');”