2012-04-11 9 views

Respuesta

18

use la base de datos INFORMATION_SCHEMA y sus tablas.

por ejemplo:

SELECT * 
FROM information_schema.columns 
WHERE table_schema = 'MY_DATABASE' 
     AND column_name IN ('MY_COLUMN_NAME'); 
6
SHOW COLUMNS FROM tablename LIKE 'columnname' 

divertirse! :-)

ACTUALIZACIÓN:

Como se ha mencionado en los comentarios, esto busca sólo una mesa, no toda la base de datos (cada mesa). En ese caso, consulte la respuesta de DhruvPathak.

+2

Eso solo buscaría 1 tabla en lugar de toda la base de datos. – DhruvPathak

+2

hmm ok - bueno entendí la pregunta si cierta columna está en cierta tabla! – Stefan

6

Si desea buscar en toda la base de datos a continuación, usted debe tratar

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

Y si desea buscar en la tabla en particular, entonces usted debe tratar

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

Si desea buscar dos o más columnas usan siguiente a continuación.

SELECT DISTINCT TABLE_NAME 
     FROM INFORMATION_SCHEMA.COLUMNS 
     WHERE COLUMN_NAME IN ('columnA','ColumnB') 
      AND TABLE_SCHEMA='YourDatabase'; 
Cuestiones relacionadas