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

Mysql Jak vybrat pouze ze sloupce, pokud sloupec existuje

Tento dotaz vám dá, zda sloupec existuje.

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'

Pokud chcete zkontrolovat, zda existují nějaké sloupce, pak proveďte příkaz select, musíte nejprve zkontrolovat, zda vaše sloupce existují. Poté proveďte výběr:

if (exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Period') and exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Country'))
begin
    select `Period`, `Country` from myview
end

Pokud je podmínka IF pravdivá, provedete cokoli uvnitř BEGIN a END.



  1. Jak deklarovat proměnnou a používat ji ve stejném skriptu Oracle SQL?

  2. SQL Získejte všechny záznamy starší než 30 dní

  3. Jaký COLLATE bych měl nastavit, abych používal všechny možné jazyky?

  4. MySQL - VYBERTE jméno, které je na prvním místě v abecedním pořadí