sql >> Databáze >  >> RDS >> Mysql

Zástupné znaky v názvu sloupce pro MySQL

Ne, SQL vám neposkytuje žádnou syntaxi k provedení takového výběru.

Co můžete stačí požádat MySQL o seznam názvů sloupců nejprve z těchto informací vygenerujte dotaz SQL.

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

vám umožní vybrat názvy sloupců. Pak to můžete udělat v Pythonu:

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

Místo zřetězení řetězců bych doporučil použít SQLAlchemy místo toho za vás udělá generování SQL.

Nicméně, pokud vše, co děláte, je omezit počet sloupců, není třeba provádět dynamický dotaz, jako je tento. Tvrdá práce pro databázi je výběr řádků; je malý rozdíl poslat vám 5 sloupců z 10 nebo všech 10.

V takovém případě stačí použít "SELECT * FROM ..." a pomocí Pythonu vyberte sloupce ze sady výsledků.



  1. Použití mysql concat() v klauzuli WHERE?

  2. Vyhledejte všechny výskyty řetězce v databázi mysql

  3. odesílání dat do MySQL pomocí AJAX + jQuery + PHP

  4. Oracle Concurrent Manager – CP Analyzer pro E-Business Suite