sql >> Database teknologi >  >> RDS >> Mysql

Forskellige måder at se tabeller på i MySQL Server

Der er to primære metoder til at se tabellerne i MySQL:

  1. MYSQL SHOW TABELLER kommando.
  2. Forespørgsel efter Informationsskema.tabeller tabel.

I denne artikel skal vi udforske dem begge.

MySQL SHOW TABLES Kommando

Kommandoen show tables viser listen over alle tabeller, der er oprettet i en database. Syntaksen er som følger:

SHOW [EXTENDED] | [FULL] TABLES
    [{FROM} database_name]
    [LIKE 'DBNamePattern']

I syntaksen,

  1. Modifiers :Vi kan bruge en af ​​følgende muligheder til at se tabellerne:
    1. UDVIDET – denne indstilling udfylder listen over de tabeller, der er blevet oprettet af mislykkede ALTER TABLE-sætninger.
    2. FULD – denne indstilling viser en ekstra kolonne, der angiver tabellens type. Det kan være en basistabel, en visning eller systemvisning.
  2. FRA – hvis du vil udfylde listen over tabeller fra den specifikke tabel, kan du bruge søgeordet FROM.
  3. LIKE – hvis du ønsker at udfylde listen over tabeller med et bestemt mønster i deres navne, kan du bruge søgeordet LIKE.

Lad os se eksemplerne.

Eksempel 1:Vis alle tabeller oprettet i specifik database

For at se alle MySQL-tabeller oprettet i Sakila database, skal du bruge FULL modifier og FROM nøgleordet. Kør følgende kommando:

mysql> SHOW TABLES FROM sakila;

Output

Som du kan se, udfyldte forespørgslen listen over tabeller fra Sakila database.

Eksempel 2:Udfyld listen over tabeller med et specifikt søgeordsmønster

Antag, at vi ønsker at få listen over tabeller, hvilke navne starter med søgeordet film . Vi bruger søgeordet LIKE til at matche mønsteret.

Men når vi bruger LIKE søgeord, kan vi ikke bruge FRA modifikator. Forespørgslen er som følger:

use sakila;
SHOW TABLES like 'film%'

Output

Eksempel 3:Udfyld listen over tabeller med dens type

For at udfylde listen over tabeller med deres type, kan vi bruge FULD modifikator. Antag, at vi ønsker at udlede listen over tabeller med deres typer oprettet i Sakila-databasen. Se følgende forespørgsel:

mysql> SHOW FULL TABLES FROM sakila;

Output

Lad os nu udfylde listen over tabeller fra information_schema.tables .

Forespørgsel efter Information_schema.tables tabel

For at se MySQL-tabeller kan vi bruge informationsskema.tabeller tabel, som indeholder følgende oplysninger:

  • Tabel_skema :Navn på databasen eller skemaet, hvori tabellen er oprettet.
  • Tabelnavn: Tabellens navn.
  • Tabeltype: Type af bordet. Det kan være en af ​​følgende:
    • Systemvisning: Liste over systemvisningerne. Den indeholder oplysningerne om databasens interne detaljer. Disse visninger oprettes ved at kombinere flere basistabeller med databaseoplysningerne.
    • Basistabel: En liste over basistabeller kan være brugertabeller eller systemtabeller.
    • Vis: Liste over brugerdefinerede visninger.
  • Motor :Navn på databasemotoren, hvori tabellen er blevet oprettet.
  • Version :Versionsnummeret for .frm tabellens fil.
  • Rækkeformat :Formatet på rækkelageret. Rækkelagringsformatet kan være et af følgende:
    • Løst
    • Komprimeret
    • Overflødig
    • Dynamisk
    • Kompakt
  • Tabel_rækker :Antal rækker i tabellen. Hvis du bruger InnoDB-tabeller, returnerer det det anslåede antal rækker. Brug SELECT COUNT(*) for at få det nøjagtige rækkeantal forespørgsel.
  • Gns._rækkelængde :Gennemsnitlig rækkelængde for datafilen.
  • Datalængde :Hvis du bruger MyISAM-tabeller, værdien af ​​data_længde kolonne er længden af ​​datafilen. Hvis du bruger InnoDB-tabellerne, værdien af ​​Data_længde kolonne er størrelsen af ​​den størrelse, der er allokeret til klynget indeks ganget med InnoDB-sidestørrelsen.
  • Maks_data_længde: Den maksimalt tilladte længde af datafilen. Det er antallet af bytes, der kan gemmes i tabellen.
  • Indeks_længde: Længden af ​​indekset. Hvis du bruger MyISAM-tabeller, værdien af ​​index_length kolonne viser størrelsen af ​​indekset. Hvis du bruger InnoDB-tabellerne, værdien af ​​index_length kolonne er den samlede størrelse af alle ikke-klyngede indekser ganget med sidestørrelsen.
  • Data_free :Det samlede antal tildelte, men ubrugte bytes. Hvis du bruger InnoDB-tabellen, er værdien af ​​data_free kolonne er tablespaces ubrugte rum, hvor tabellen er blevet oprettet.
  • Auto_increment: Værdien af ​​Auto_increment kolonne er den næste automatiske stigningsværdi.
  • Create_time :Dato og klokkeslæt, hvor tabellen er blevet oprettet. Når vi gendanner databasen, værdien af ​​create_date vil være tidspunktet, hvor databasen blev gendannet.
  • Update_time :Datoen og tidspunktet, hvor datafilen blev opdateret. Den viser tidsstemplet for de sidste INSERT-, UPDATE- eller DELETE-sætninger udført på InnoDB-tabellerne.
  • Tjek_tid: Datoen og klokkeslættet, hvor tabellen sidst blev tjekket.
  • Tabel_indsamling :Navnet på standardsorteringen af ​​tabellen.
  • Tjeksum :Kontrolsumværdien.
  • Create_Option :Den ekstra konfigurationsmulighed, som blev brugt til at oprette tabellen.
  • Tabel_kommentar :Kommentaren eller informationen, der blev brugt under oprettelse af tabellen.

Eksempel 1:Udfyld liste over alle tabeller

Antag, at vi ønsker at udfylde alle tabeller, der er oprettet i alle databaser. Forespørgslen er som følger:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;

Output

Som du kan se, har forespørgslen udfyldt listen over tabeller med databasenavnet og oprettelsestidspunktet. Forespørgslen returnerede mange poster, så outputtet er trimmet.

Eksempel 2:Udfyld liste over alle tabeller oprettet i specifik database

At udfylde listen over tabeller oprettet i Sakila database, kan du anvende filteret på Tabelskema kolonne:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';

Output

Som du kan se, har forespørgslen returneret listen over tabeller og visninger, der er oprettet i Sakila-databasen, dens oprettelsestid og type.

Eksempel 3:Udfyld liste over alle tabeller med rækkeantal

Vi kan inkludere Tabel_rækkerne kolonne for at se rækkeantallet af MySQL-tabeller. Antag, at du vil have listen over tabeller, hvis navn starter med film . Outputtet skal indeholde antallet af poster i disse tabeller.

mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';

Output

Eksempel 4:Udfyld antallet af tabeller og visninger

For eksempel ønsker vi at få optællingen af ​​de tabeller og visninger, der er oprettet i databasen. For at gøre det skal du køre følgende forespørgsel:

mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables  group by table_type,table_schema;

Output

Som du kan se på billedet ovenfor, har forespørgslen udfyldt antallet af tabeller og visninger, der er oprettet i alle databaser.

Eksempel 5:Tabeller med deres størrelse

Nu ønsker vi at udfylde listen over tabeller, der er oprettet i Sakila database med deres størrelse. For at generere listen skal du køre følgende forespørgsel:

mysql> SELECT Table_schema as 'Database Name',  TABLE_NAME AS 'Table',   ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM   information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY  (DATA_LENGTH + INDEX_LENGTH) DESC;

Output

Som du kan se, har forespørgslen returneret databasenavnet, tabelnavnet og størrelsen.

Oversigt

Således har vi defineret og lært at bruge metoderne til at udfylde listen over tabeller oprettet i databasen. Vi udforskede SHOW TABELLER kommandoen, og så undersøgte vi metoden til at forespørge Information_schema.tables bord. Vi håber, at disse tips vil være nyttige i din arbejdsgang.

Hvis du vil lære mere om tabeller i SQL, så læs artiklen om midlertidige tabeller i SQL Server. Og hvis du gerne vil tilføje noget, dele dine arbejdstip eller diskutere disse metoder, er du velkommen til kommentarsektionen.


  1. Sådan sletter du en database i cPanel

  2. Kan JavaScript forbindes med MySQL?

  3. WordPress MySQL SQL-forespørgselsfejl i WPDB-klassen

  4. Integrering af MySQL med Python i Windows