Nedenfor er fire måder at vise tabellerne i en MySQL-database ved hjælp af SQL eller kommandolinjen.
SHOW TABLES
Kommando
SHOW TABLES
kommandoen viser den ikke-TEMPORARY
tabeller og visninger i en given database:
SHOW TABLES;
Resultat:
+-----------------+ | Tables_in_music | +-----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +-----------------+
Det listede alle tabeller i den aktuelle database, som kaldes Music
.
Vi kan også bruge FULL
modifikator for at returnere en anden kolonne, der viser typen:
SHOW FULL TABLES;
Resultat:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | | valbumsartists | VIEW | | valbumsgenres | VIEW | | vallalbums | VIEW | | vallartists | VIEW | | vallgenres | VIEW | +-----------------+------------+
Vi kan se, at de fleste af resultaterne, der er anført her, faktisk er visninger.
Hvis vi kun ønsker, at basistabeller skal returneres, kan vi bruge en WHERE
klausul mod Table_type
kolonne:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Resultat:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | +-----------------+------------+
SHOW TABLES
accepterer også en LIKE
klausul, der kan bruges til at indsnævre resultaterne til kun de tabeller, der matcher et givet mønster:
SHOW TABLES
LIKE 'a%';
Resultat:
+----------------------+ | Tables_in_music (a%) | +----------------------+ | Albums | | Artists | +----------------------+
I dette tilfælde returnerede jeg alle tabeller, der starter med bogstavet a
.
SHOW TABLE STATUS
Kommando
SHOW TABLE STATUS
kommandoen ligner SHOW TABLES
kommando, men giver mere omfattende information om hver (ikke-TEMPORARY
). ) bord.
Den accepterer også en WHERE
og LIKE
klausul, som SHOW TABLES
.
Eksempel:
SHOW TABLE STATUS
LIKE 'a%';
Resultat:
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Albums | InnoDB | 10 | Dynamic | 20 | 819 | 16384 | 0 | 32768 | 0 | 21 | 2022-02-15 09:10:36 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | | Artists | InnoDB | 10 | Dynamic | 16 | 1024 | 16384 | 0 | 0 | 0 | 17 | 2021-11-13 12:56:02 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | +---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
information_schema.TABLES
Tabel
Vi kan også forespørge på information_schema.TABLES
tabel:
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'Music' AND TABLE_TYPE LIKE 'BASE_TABLE';
Resultat:
+------------+ | TABLE_NAME | +------------+ | Artists | | Genres | | Albums | +------------+
Forespørger om dette uden at filtrere resultaterne efter TABLE_SCHEMA
returnerer tabeller fra alle databaser. På samme måde kan du forespørge efter det uden at filtrere efter TABLE_TYPE
returnerer alle tabeltyper.
mysqlshow
Klient
En anden måde at gøre det på er med mysqlshow
nytte.
For at bruge denne mulighed skal du åbne en kommandolinjeprompt/terminalvindue og køre følgende (erstat music
med den database, du er interesseret i):
mysqlshow music;
Resultat:
+----------------+ | Tables | +----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +----------------+
Dette returnerer visninger og tabeller.
Outputtet viser kun navnene på de databaser, tabeller eller kolonner, som du har nogle privilegier til.
Hvis der ikke er angivet nogen database, vises en liste over databasenavne. Hvis der ikke er angivet nogen tabel, vises alle matchende tabeller i databasen. Hvis der ikke er angivet nogen kolonne, vises alle matchende kolonner og kolonnetyper i tabellen.
Hvis du får en "adgang nægtet"-fejl, skal du muligvis bruge sudo
, og indtast din adgangskode ved prompten:
sudo mysqlshow music;
Dette værktøj accepterer en hel del muligheder, såsom --user
(så du kan videregive brugernavnet), --password
(så du kan videregive adgangskoden), --host
for værten som MySQL-serveren er placeret på osv.
Se MySQLs dokumentation for en komplet liste over muligheder.