sql >> Databasteknik >  >> RDS >> Mysql

4 sätt att lista alla vyer i MySQL

Nedan finns fyra sätt att lista ut vyerna i en MySQL-databas med SQL eller kommandoraden.

SHOW TABLES Kommando

SHOW TABLES kommandot listar icke-TEMPORARY tabeller, sekvenser och vyer i en given MySQL-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:

+----------------+------------+| Tabeller_i_musik | Tabelltyp |+----------------+------------+| valbumsartister | VISA || valbumsgenrer | VISA || vallalbums | VISA || vallartister | VISA || vallgenres | VISA |+----------------+------------+

Utelämnar WHERE sats returnerar alla typer:

SHOW FULL TABLES; 

Resultat:

+----------------+------------+| Tabeller_i_musik | Tabelltyp |+----------------+------------+| Album | GRUNDTABELL || Konstnärer | GRUNDTABELL || Genrer | GRUNDTABELL || valbumsartister | VISA || valbumsgenrer | VISA || vallalbums | VISA || vallartister | VISA || vallgenres | VISA |+----------------+------------+

SHOW TABLE STATUS Kommando

I MySQL, 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:

+----------------+--------+--------+----------- --+------+----------------+-------------+-------- ----------------------------------------------------- --+---------------------+---------------------+--- ----------+--------------------+----------+-------- ----+---------+| Namn | Motor | Version | Radformat | Rader | Avg_row_length | Data_längd | Max_data_length | Index_längd | Data_free | Auto_increment | Skapa_tid | Update_time | Check_time | Samling | Kontrollsumma | Skapa_alternativ | Kommentera |+----------------+--------+--------+---------------- --+------+----------------+-------------+---------------- -------+--------------+----------------- --+---------------------------+---------------------+---- ------------------------------+-----------+-------- -------+---------+| Album | InnoDB | 10 | Dynamisk | 20 | 819 | 16384 | 0 | 32768 | 0 | 21 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | || Konstnärer | InnoDB | 10 | Dynamisk | 16 | 1024 | 16384 | 0 | 0 | 0 | 17 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | || Genrer | InnoDB | 10 | Dynamisk | 8 | 2048 | 16384 | 0 | 0 | 0 | 9 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL | utf8mb4_0900_ai_ci | NULL | | || valbumsartister | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:02:24 | NULL | NULL | NULL | NULL | NULL | VISA || valbumsgenrer | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:09:47 | NULL | NULL | NULL | NULL | NULL | VISA || vallalbums | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:51 | NULL | NULL | NULL | NULL | NULL | VISA || vallartister | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:13:02 | NULL | NULL | NULL | NULL | NULL | VISA || vallgenres | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 2021-11-15 06:12:36 | NULL | NULL | NULL | NULL | NULL | VISA |+----------------+--------+--------+------------ --+------+----------------+-------------+---------------- -------+--------------+----------------- --+---------------------------+---------------------+---- ------------------------------+-----------+-------- -------+---------+

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 'music' AND TABLE_TYPE LIKE 'VIEW'; 

Resultat:

+-------------+----------------+------------+| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |+--------------+----------------+-----------+| Musik | valbumsartister | VISA || Musik | valbumsgenrer | VISA || Musik | vallgenres | VISA || Musik | vallalbums | VISA || Musik | vallartister | VISA |+--------------+----------------+-----------+ 

I det här fallet returnerade jag alla vyer från databasen som heter music . 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.

mysqlshow Klient

Ett annat sätt att göra det är med mysqlshow verktyg.

För att använda det här alternativet, öppna en kommandoradsprompt/terminalfönster och kör följande:

mysqlshow --user root --password music; 

Se till att ersätta music med databasen du är intresserad av och root med den aktuella användaren. --password biten resulterar i att användaren tillfrågas om lösenordet.

Resultat:

Ange lösenord:Databas:musik+----------------+| Tabeller |+----------------+| Album || Konstnärer || Genrer || valbumsartister || valbumsgenrer || vallalbums || vallartister || vallgenres |+----------------+

mysqlshow klienten returnerar vyer och tabeller.

Utdatan visar endast namnen på de databaser, tabeller eller kolumner som användaren 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.


  1. REMAINDER() Funktion i Oracle

  2. Förebyggande triggers

  3. MySQL-förberedda uttalanden

  4. Aggregerad funktion i MySQL - lista (som LISTAGG i Oracle)