sql >> Database teknologi >  >> RDS >> MariaDB

4 måder at liste alle visninger i en MariaDB-database

Nedenfor er fire måder at vise visningerne i en MariaDB-database ved hjælp af SQL eller kommandolinjen.

SHOW TABLES Kommando

SHOW TABLES kommandoen viser den ikke-TEMPORARY tabeller, sekvenser og visninger i en given database. Vi kan bruge WHERE klausul for at indsnævre det til blot synspunkter.

Vi kan også bruge FULL modifikator for at returnere en anden kolonne, der viser 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       |
+--------------------+------------+

Udeladelse af WHERE klausul returnerer alle 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 kommandoen ligner SHOW TABLES kommando, men giver mere omfattende information om hver (ikke-TEMPORARY). ) tabel.

Eksempel:

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 accepterer også en WHERE og LIKE klausul, hvis du ønsker at indsnævre resultaterne.

information_schema.TABLES Tabel

Vi kan også forespørge på information_schema.TABLES tabel:

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       |
+--------------+---------------+------------+

Forespørger om dette uden at filtrere resultaterne efter TABLE_SCHEMA returnerer visninger fra alle databaser. På samme måde kan du forespørge efter det uden at filtrere efter TABLE_TYPE returnerer alle tabeltyper.

mariadb-show Klient

En anden måde at gøre det på er med mariadb-show nytte.

For at bruge denne mulighed skal du åbne en kommandolinjeprompt/terminalvindue og køre følgende (erstat pethouse med den database, du er interesseret i):

mariadb-show pethouse;

Resultat:

+---------------+
|    Tables     |
+---------------+
| Owners        |
| PetTypes      |
| Pets          |
| vownercount   |
| vpetcount     |
| vpetsowners   |
| vpetstypes    |
| vpettypecount |
+---------------+

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 alle matchende databaser. 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.

Klienten kan også køres som mysqlshow :

mysqlshow pethouse;

Dette værktøj accepterer en hel del muligheder, såsom --user (så du kan videregive brugernavnet), --password (så du kan videregive adgangskoden) osv.

Se MariaDBs dokumentation for en komplet liste over muligheder.


  1. Migrering fra MySQL Enterprise til MariaDB 10.3

  2. Geo-søgning (afstand) i PHP/MySQL (ydelse)

  3. datetime2 vs smalldatetime i SQL Server:Hvad er forskellen?

  4. Hvordan eksporteres forespørgselsresultat til csv i Oracle SQL Developer?