MySQL henter tabeller med en bestemt kolonne

MySQL henter tabeller med en bestemt kolonne
“I denne artikkelen lærer du hvordan du henter tabellene som inneholder en spesifikk kolonne. For denne opplæringen vil vi bruke Sakila -prøvedatabasene. Du kan sjekke MySQL -dokumentasjonen for å lære hvordan du importerer Sakila -eksempeldatabasen.”

Problem

Målet vårt er å hente alle tabellene som inneholder kolonnen “First_name” i Sakila -databasen. La oss utforske metodene vi kan bruke for å oppnå dette.

Løsning

Vi kan bruke informasjons_schema.Kolonner tabell for å hente tabellene som inneholder kolonnen “First_name”. Vi kan deretter filtrere resultatene etter skjemaet for å få tabellene bare tilgjengelige i Sakila -databasen.

Spørringen er som vist:

plukke ut
distinkt tabellnavn
fra
informasjon_schema.'Kolonner' C
hvor
Column_name in ('first_name')
og tabell_schema = 'Sakila';

Spørringen over skal hente tabellene som inneholder kolonnen “First_name” i Sakila -databasen. Den resulterende utgangen er som vist:

I dette tilfellet inneholder skuespilleren, skuespilleren_info, kunde og personalbord kolonnen “First_name”.

Vi kan også bruke databasen () -funksjonen til å filtrere for tabeller i vår valgte database for øyeblikket. Eksempel:

Bruk Sakila;
plukke ut
distinkt tabellnavn
fra
informasjon_schema.'Kolonner' C
hvor
Column_name in ('first_name')
og tabell_schema = database ();

Databasen () -funksjonen vil returnere den valgte databasen for øyeblikket. I vårt tilfelle er den databasen satt til Sakila, som vist i brukserklæringen.

Løsning 2

Du kan også bruke lignende operatør til å hente tabellene som inneholder en spesifikk kolonne. Et eksempel er som vist:

plukke ut
tabell_navn
fra
informasjon_schema.'Kolonner' C
hvor
Kolonne_navn som 'First_%';

I dette tilfellet, siden vi ikke filtrerer for noen bestemt database, vil kommandoen returnere alle tabellene fra alle databaser, som vist i utdataene nedenfor:

Konklusjon

I dette innlegget oppdaget du hvordan du henter tabellene som inneholder en spesifikk kolonne i MySQL -serveren.

Glad koding!!