Ditt exekveringspåstående verkar inte helt korrekt. Min uppfattning är att den ska följa mönstret cursor.execute( <select statement string>, <tuple>)
och genom att bara sätta ett enda värde i tuppelplatsen är det faktiskt bara en sträng. För att göra det andra argumentet till rätt datatyp måste du sätta ett kommatecken där, så ditt påstående skulle se ut så här:
cursor.execute("""SELECT
* FROM hashes
WHERE hash=%s""",
(data, ))