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

Заместващи знаци в името на колона за MySQL

Не, SQL не ви предоставя никакъв синтаксис, за да направите такъв избор.

Каквото можете да поискате от MySQL списък с имена на колони първо, след това генерирайте SQL заявката от тази информация.

SELECT column_name
FROM information_schema.columns
WHERE table_name = 'your_table'
    AND column_name LIKE 'word%'

нека изберете имената на колоните. След това можете да направите в Python:

"SELECT * FROM your_table WHERE " + ' '.join(['%s = 1' % name for name in columns])

Вместо да използвате конкатенация на низове, бих препоръчал да използвате SQLAlchemy вместо това да направи SQL генерирането вместо вас.

Въпреки това, ако всичко, което правите, е да ограничите броя на колоните, изобщо няма нужда да правите динамична заявка като тази. Трудната работа за базата данни е изборът на редовете; няма голяма разлика да ви изпратим 5 колони от 10 или всичките 10.

В този случай просто използвайте "SELECT * FROM ..." и използвайте Python, за да изберете колоните от набора от резултати.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавете външен ключ към съществуваща таблица

  2. SQL:Изберете Ключове, които не съществуват в една таблица

  3. InnoDB вмъква много бавно и бавно

  4. Първият html ред не се показва

  5. Вмъкване в 2 таблици с PDO MySQL