sql >> Database >  >> RDS >> Mysql

SELECT ... WHERE ... IN ... uitvoeren met MySQLdb

Helaas moet u de queryparameters handmatig samenstellen, want voor zover ik weet, is er geen ingebouwde bind methode voor het binden van een list naar een IN clausule, vergelijkbaar met Hibernate's setParameterList() . U kunt echter hetzelfde bereiken met het volgende:

Python 3:

args=['A', 'C']
sql='SELECT fooid FROM foo WHERE bar IN (%s)' 
in_p=', '.join(list(map(lambda x: '%s', args)))
sql = sql % in_p
cursor.execute(sql, args)

Python 2:

args=['A', 'C']
sql='SELECT fooid FROM foo WHERE bar IN (%s)' 
in_p=', '.join(map(lambda x: '%s', args))
sql = sql % in_p
cursor.execute(sql, args)


  1. Een tabel horizontaal afdrukken in plaats van verticaal met PHP

  2. Hoe Asind() werkt in PostgreSQL

  3. MYSQL selecteer laatste 3 rijen, sorteer op ASC

  4. Hoe een SQL-instructie in het Oracle SQL-gebied ongeldig te maken, zodat een nieuw plan wordt geproduceerd bij het verzamelen van statistieken?