Mysql
 sql >> база данни >  >> RDS >> Mysql

Изпълнение на SELECT ... WHERE ... IN ... с помощта на MySQLdb

За съжаление трябва ръчно да конструирате параметрите на заявката, защото доколкото знам, няма вградено bind метод за обвързване на list към IN клауза, подобна на setParameterList() на Hibernate . Можете обаче да постигнете същото със следното:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се свърже с mysql с 127.0.0.1

  2. MySQL - вмъкване на данни от друга таблица, обединени с константи

  3. Rails заявка за активен запис получава най-често срещаните обекти

  4. Необходимо е да се потърси различна комбинация от две полета, заедно с преброяване на тази различна комбинация

  5. Получаване на mysql резултат от последните 30 дни