Nedan finns fyra sätt att lista ut vyerna i en MariaDB-databas med SQL eller kommandoraden.
SHOW TABLES
Kommando
SHOW TABLES
kommandot listar icke-TEMPORARY
tabeller, sekvenser och vyer i en given databas. Vi kan använda WHERE
klausul för att begränsa det till bara åsikter.
Vi kan också använda FULL
modifierare för att returnera en andra kolumn som visar typen:
SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';
Resultat:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Utelämnar WHERE
sats returnerar alla typer:
SHOW FULL TABLES;
Resultat:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
SHOW TABLE STATUS
Kommando
SHOW TABLE STATUS
kommandot liknar SHOW TABLES
kommando men ger mer omfattande information om var och en (icke-TEMPORARY
) tabell.
Exempel:
SHOW TABLE STATUS;
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 | Max_index_length | Temporary | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | Owners | InnoDB | 10 | Dynamic | 6 | 2730 | 16384 | 0 | 0 | 0 | NULL | 2021-03-30 09:10:36 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | PetTypes | InnoDB | 10 | Dynamic | 4 | 4096 | 16384 | 0 | 0 | 0 | NULL | 2021-03-30 09:10:36 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | Pets | InnoDB | 10 | Dynamic | 8 | 2048 | 16384 | 0 | 32768 | 0 | NULL | 2021-04-01 15:42:43 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | vownercount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetcount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetsowners | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpetstypes | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | | vpettypecount | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | NULL | NULL | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
Den accepterar också en WHERE
och LIKE
klausul om du vill begränsa resultaten.
information_schema.TABLES
Tabell
Vi kan också fråga information_schema.TABLES
tabell:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'VIEW';
Resultat:
+--------------+---------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+---------------+------------+ | PetHouse | vpettypecount | VIEW | | PetHouse | vpetstypes | VIEW | | PetHouse | vownercount | VIEW | | PetHouse | vpetcount | VIEW | | PetHouse | vpetsowners | VIEW | +--------------+---------------+------------+
Frågar detta utan att filtrera resultaten efter TABLE_SCHEMA
returnerar vyer från alla databaser. På liknande sätt frågar du den utan att filtrera efter TABLE_TYPE
returnerar alla tabelltyper.
mariadb-show
Klient
Ett annat sätt att göra det är med mariadb-show
verktyg.
För att använda det här alternativet, öppna en kommandoradsprompt/terminalfönster och kör följande (ersätter pethouse
med databasen du är intresserad av):
mariadb-show pethouse;
Resultat:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Detta returnerar vyer och tabeller.
Utdatan visar endast namnen på de databaser, tabeller eller kolumner som du har vissa privilegier för.
Om ingen databas anges visas alla matchande databaser. Om ingen tabell anges visas alla matchande tabeller i databasen. Om ingen kolumn anges visas alla matchande kolumner och kolumntyper i tabellen.
Klienten kan också köras som mysqlshow
:
mysqlshow pethouse;
Det här verktyget accepterar en hel del alternativ, såsom --user
(så att du kan skicka användarnamnet), --password
(så att du kan skicka lösenordet) etc.
Se MariaDB:s dokumentation för en fullständig lista över alternativ.