Tabelle di recupero mysql con una colonna specifica

Tabelle di recupero mysql con una colonna specifica
“In questo articolo, imparerai come recuperare le tabelle che contengono una colonna specifica. Per questo tutorial, useremo i database di esempio Sakila. Puoi controllare la documentazione MySQL per imparare a importare il database di campioni Sakila."

Problema

Il nostro obiettivo è quello di recuperare tutte le tabelle che contengono la colonna "First_name" nel database Sakila. Esploriamo i metodi che possiamo usare per raggiungere questo obiettivo.

Soluzione

Possiamo usare Information_Schema.Tabella delle colonne per recuperare le tabelle contenenti la colonna "First_name". Possiamo quindi filtrare i risultati dello schema per ottenere le tabelle disponibili solo nel database Sakila.

La query è come mostrata:

Selezionare
table_name distinto
da
Information_Schema.'Colonne' c
Dove
Column_name in ('first_name')
e table_schema = 'sakila';

La query sopra dovrebbe recuperare le tabelle contenenti la colonna "First_name" nel database Sakila. L'output risultante è come mostrato:

In questo caso, le tabelle dell'attore, Actor_Info, Customer e Staff contengono la colonna "First_name".

Possiamo anche utilizzare la funzione Database () per filtrare le tabelle nel nostro database attualmente selezionato. Esempio:

Usa Sakila;
Selezionare
table_name distinto
da
Information_Schema.'Colonne' c
Dove
Column_name in ('first_name')
e table_schema = database ();

La funzione Database () restituirà il database attualmente selezionato. Nel nostro caso, quel database è impostato su Sakila, come mostrato nell'istruzione di utilizzo.

Soluzione 2

È inoltre possibile utilizzare l'operatore simile per recuperare le tabelle contenenti una colonna specifica. Un esempio è come mostrato:

Selezionare
table_name
da
Information_Schema.'Colonne' c
Dove
Column_name come 'First_%';

In questo caso, dal momento che non stiamo filtrando per nessun database particolare, il comando restituirà tutte le tabelle da tutti i database, come mostrato nell'output di seguito:

Conclusione

In questo post, hai scoperto come recuperare le tabelle che contengono una colonna specifica all'interno del server MySQL.

Codice felice!!