sql >> Databáze >  >> RDS >> MariaDB

4 způsoby, jak vypsat všechny tabulky v databázi MariaDB

Níže jsou uvedeny čtyři způsoby, jak vypsat tabulky v databázi MariaDB pomocí SQL nebo příkazového řádku.

SHOW TABLES Příkaz

SHOW TABLES příkaz uvádí neTEMPORARY tabulky, sekvence a pohledy v dané databázi:

SHOW TABLES;

Výsledek:

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

Tím byly uvedeny všechny tabulky v aktuální databázi, která se nazývá pethouse .

Můžeme také použít FULL modifikátor, který vrátí druhý sloupec, který zobrazuje typ:

SHOW FULL TABLES;

Výsledek:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| Owners             | BASE TABLE |
| PetTypes           | BASE TABLE |
| Pets               | BASE TABLE |
| vownercount        | VIEW       |
| vpetcount          | VIEW       |
| vpetsowners        | VIEW       |
| vpetstypes         | VIEW       |
| vpettypecount      | VIEW       |
+--------------------+------------+

Vidíme, že většina „tabulek“ v této databázi jsou ve skutečnosti pohledy.

Pokud chceme, aby byly vráceny pouze základní tabulky, můžeme použít WHERE klauzule:

SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';

Výsledek:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| Owners             | BASE TABLE |
| PetTypes           | BASE TABLE |
| Pets               | BASE TABLE |
+--------------------+------------+

SHOW TABLES také přijímá LIKE klauzule, kterou lze použít k zúžení výsledků pouze na ty tabulky, které odpovídají danému vzoru:

SHOW TABLES
LIKE 'pet%';

Výsledek:

+---------------------------+
| Tables_in_pethouse (pet%) |
+---------------------------+
| PetTypes                  |
| Pets                      |
+---------------------------+

SHOW TABLE STATUS Příkaz

SHOW TABLE STATUS příkaz je podobný příkazu SHOW TABLES příkaz, ale poskytuje rozsáhlejší informace o každém (neTEMPORARY ) stůl.

Přijímá také WHERE a LIKE klauzule, například SHOW TABLES .

Příklad:

SHOW TABLE STATUS
LIKE 'pet%';

Výsledek:

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

information_schema.TABLES Tabulka

Můžeme se také dotazovat na information_schema.TABLES tabulka:

SELECT 
    TABLE_NAME
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';

Výsledek:

+------------+
| TABLE_NAME |
+------------+
| Pets       |
| Owners     |
| PetTypes   |
+------------+

Dotaz bez filtrování výsledků podle TABLE_SCHEMA vrátí tabulky ze všech databází. Podobně, dotazování bez filtrování podle TABLE_TYPE vrátí všechny typy tabulek.

mariadb-show Klient

Další způsob, jak to udělat, je pomocí mariadb-show užitečnost.

Chcete-li použít tuto možnost, otevřete okno příkazového řádku/terminálu a spusťte následující (nahrazením pethouse s databází, která vás zajímá):

mariadb-show pethouse;

Výsledek:

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

Tím se vrátí pohledy a tabulky.

Výstup zobrazuje pouze názvy těch databází, tabulek nebo sloupců, pro které máte určitá oprávnění.

Pokud není zadána žádná databáze, zobrazí se všechny odpovídající databáze. Pokud není zadána žádná tabulka, zobrazí se všechny odpovídající tabulky v databázi. Pokud není uveden žádný sloupec, zobrazí se všechny odpovídající sloupce a typy sloupců v tabulce.

Klienta lze také spustit jako mysqlshow :

mysqlshow pethouse;

Tento nástroj přijímá několik možností, jako je --user (aby bylo možné předat uživatelské jméno), --password (aby bylo možné předat heslo) atd.

Úplný seznam možností naleznete v dokumentaci MariaDB.


  1. podmíněné jedinečné omezení

  2. Existují bezpečnostní rizika spojená s monitorováním Spotlight Cloudu?

  3. Jak dochází k poškození databáze?

  4. Jak vypočítat procento růstu po měsíci v MySQL