Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Symbole wieloznaczne w nazwie kolumny dla MySQL

Nie, SQL nie zapewnia żadnej składni do takiego wyboru.

Co możesz wystarczy poprosić MySQL o listę nazw kolumn najpierw wygeneruj zapytanie SQL na podstawie tych informacji.

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

wybierzmy nazwy kolumn. Następnie możesz zrobić, w Pythonie:

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

Zamiast używać konkatenacji ciągów, polecam użycie SQLAlchemy zamiast tego generowanie kodu SQL za Ciebie.

Jeśli jednak wszystko, co robisz, to ograniczanie liczby kolumn, w ogóle nie ma potrzeby wykonywania takiego dynamicznego zapytania. Ciężka praca dla bazy danych to wybieranie wierszy; wysłanie 5 kolumn z 10 lub wszystkich 10.

W takim przypadku po prostu użyj "SELECT * FROM ..." i użyj Pythona, aby wybrać kolumny z zestawu wyników.



  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 sortowanie numerów wersji

  2. Jak dołączyć do trzech stołów według wymownego modelu laravel

  3. Przekazywanie nazwy kolumny jako parametru w MySQL

  4. Pobierz nazwę kolumny, która ma maksymalną wartość w wierszu sql

  5. GROUP_CONCAT z limitem