Tablas de búsqueda de MySQL con una columna específica

Tablas de búsqueda de MySQL con una columna específica
“En este artículo, aprenderá cómo obtener las tablas que contienen una columna específica. Para este tutorial, utilizaremos las bases de datos de muestras de Sakila. Puede consultar la documentación de MySQL para aprender cómo importar la base de datos de muestra de Sakila."

Problema

Nuestro objetivo es obtener todas las tablas que contienen la columna "First_Name" en la base de datos de Sakila. Exploremos los métodos que podemos usar para lograr esto.

Solución

Podemos usar la información_schema.Tabla de columnas para obtener las tablas que contienen la columna "First_Name". Luego podemos filtrar los resultados del esquema para que las tablas solo estén disponibles en la base de datos de Sakila.

La consulta es como se muestra:

seleccionar
Table_name distintivo
de
información_schema.'Columnas' c
dónde
Column_name en ('First_Name')
y table_schema = 'sakila';

La consulta anterior debe obtener las tablas que contienen la columna "First_Name" en la base de datos de Sakila. La salida resultante es como se muestra:

En este caso, el actor, el actor_info, el cliente y las tablas de personal contienen la columna "First_Name".

También podemos usar la función de base de datos () para filtrar para tablas dentro de nuestra base de datos seleccionada actualmente. Ejemplo:

usa sakila;
seleccionar
Table_name distintivo
de
información_schema.'Columnas' c
dónde
Column_name en ('First_Name')
y table_schema = database ();

La función de base de datos () devolverá la base de datos seleccionada actualmente. En nuestro caso, esa base de datos se establece en Sakila, como se muestra en la declaración de uso.

Solución 2

También puede usar el operador similar para obtener las tablas que contienen una columna específica. Un ejemplo es como se muestra:

seleccionar
nombre de la tabla
de
información_schema.'Columnas' c
dónde
Column_name como 'First_%';

En este caso, dado que no estamos filtrando ninguna base de datos en particular, el comando devolverá todas las tablas de todas las bases de datos, como se muestra en la salida a continuación:

Conclusión

En esta publicación, descubrió cómo obtener las tablas que contienen una columna específica dentro del servidor MySQL.

Codificación feliz!!