sql >> Database >  >> RDS >> Mysql

4 manieren om alle weergaven in MySQL weer te geven

Hieronder staan ​​vier manieren om de weergaven in een MySQL-database op te sommen met behulp van SQL of de opdrachtregel.

De SHOW TABLES Commando

De SHOW TABLES commando geeft de niet-TEMPORARY tabellen, sequenties en weergaven in een bepaalde MySQL-database. We kunnen de WHERE . gebruiken clausule om het te beperken tot alleen views.

We kunnen ook de FULL . gebruiken modifier om een ​​tweede kolom terug te geven die het type weergeeft:

SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';

Resultaat:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| valbumsartists  | VIEW       |
| valbumsgenres   | VIEW       |
| vallalbums      | VIEW       |
| vallartists     | VIEW       |
| vallgenres      | VIEW       |
+-----------------+------------+

Het weglaten van de WHERE clausule geeft alle typen terug:

SHOW FULL TABLES;

Resultaat:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| Albums          | BASE TABLE |
| Artists         | BASE TABLE |
| Genres          | BASE TABLE |
| valbumsartists  | VIEW       |
| valbumsgenres   | VIEW       |
| vallalbums      | VIEW       |
| vallartists     | VIEW       |
| vallgenres      | VIEW       |
+-----------------+------------+

De SHOW TABLE STATUS Commando

In MySQL, de SHOW TABLE STATUS opdracht is vergelijkbaar met de SHOW TABLES commando maar geeft uitgebreidere informatie over elk (niet-TEMPORARY ) tafel.

Voorbeeld:

SHOW TABLE STATUS;

Resultaat:

+----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+
| 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 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
| Artists        | InnoDB |      10 | Dynamic    |   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 |                |         |
| Genres         | InnoDB |      10 | Dynamic    |    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 |                |         |
| valbumsartists | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:02:24 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| valbumsgenres  | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:09:47 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallalbums     | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:12:51 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallartists    | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:13:02 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
| vallgenres     | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | 2021-11-15 06:12:36 | NULL                | NULL       | NULL               |     NULL | NULL           | VIEW    |
+----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+

Het accepteert ook een WHERE en LIKE clausule voor het geval u de resultaten wilt verfijnen.

De information_schema.TABLES Tabel

We kunnen ook de information_schema.TABLES . opvragen tabel:

SELECT 
    TABLE_SCHEMA, 
    TABLE_NAME,
    TABLE_TYPE
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA LIKE 'music' AND TABLE_TYPE LIKE 'VIEW';

Resultaat:

+--------------+----------------+------------+
| TABLE_SCHEMA | TABLE_NAME     | TABLE_TYPE |
+--------------+----------------+------------+
| Music        | valbumsartists | VIEW       |
| Music        | valbumsgenres  | VIEW       |
| Music        | vallgenres     | VIEW       |
| Music        | vallalbums     | VIEW       |
| Music        | vallartists    | VIEW       |
+--------------+----------------+------------+

In dit geval heb ik alle weergaven geretourneerd uit de database met de naam music . Dit opvragen zonder de resultaten te filteren op TABLE_SCHEMA retourneert weergaven van alle databases. Evenzo, het opvragen zonder te filteren op TABLE_TYPE geeft alle tabeltypes terug.

De mysqlshow Klant

Een andere manier om dit te doen is met de mysqlshow nut.

Om deze optie te gebruiken, opent u een opdrachtregelprompt/terminalvenster en voert u het volgende uit:

mysqlshow --user root --password music;

Zorg ervoor dat u music vervangt met de database waarin u geïnteresseerd bent, en root met de betreffende gebruiker. Het --password bit resulteert erin dat de gebruiker om het wachtwoord wordt gevraagd.

Resultaat:

Enter password: 
Database: music
+----------------+
|     Tables     |
+----------------+
| Albums         |
| Artists        |
| Genres         |
| valbumsartists |
| valbumsgenres  |
| vallalbums     |
| vallartists    |
| vallgenres     |
+----------------+

De mysqlshow klant retourneert views en tabellen.

De uitvoer toont alleen de namen van die databases, tabellen of kolommen waarvoor de gebruiker bepaalde privileges heeft.

Als er geen database is opgegeven, worden alle overeenkomende databases getoond. Als er geen tabel is opgegeven, worden alle overeenkomende tabellen in de database getoond. Als er geen kolom is opgegeven, worden alle overeenkomende kolommen en kolomtypen in de tabel weergegeven.


  1. SQL Server SELECTEER IN @variabele?

  2. Probleem bij het vergelijken van het resultaat van to_char(myDate, 'DAY') met een string

  3. Converteer 'datetime' naar 'time' in SQL Server (T-SQL-voorbeelden)

  4. Wordt de primaire sleutel automatisch geïndexeerd in MySQL?