Poniżej znajdują się cztery sposoby na wyświetlenie listy widoków w bazie danych MariaDB za pomocą SQL lub wiersza poleceń.
SHOW TABLES
Polecenie
SHOW TABLES
polecenie wyświetla listę niebędącą TEMPORARY
tabele, sekwencje i widoki w danej bazie danych. Możemy użyć WHERE
klauzula zawężająca ją tylko do poglądów.
Możemy również użyć FULL
modyfikator, aby zwrócić drugą kolumnę wyświetlającą typ:
SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';
Wynik:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Pominięcie WHERE
klauzula zwraca wszystkie typy:
SHOW FULL TABLES;
Wynik:
+--------------------+------------+ | 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
Polecenie
SHOW TABLE STATUS
polecenie jest podobne do polecenia SHOW TABLES
polecenie, ale zawiera bardziej szczegółowe informacje o każdym z nich (nie TEMPORARY
) tabeli.
Przykład:
SHOW TABLE STATUS;
Wynik:
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | 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 | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
Akceptuje również WHERE
i LIKE
klauzula na wypadek, gdybyś chciał zawęzić wyniki.
information_schema.TABLES
Tabela
Możemy również wysłać zapytanie do information_schema.TABLES
tabela:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'VIEW';
Wynik:
+--------------+---------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+---------------+------------+ | PetHouse | vpettypecount | VIEW | | PetHouse | vpetstypes | VIEW | | PetHouse | vownercount | VIEW | | PetHouse | vpetcount | VIEW | | PetHouse | vpetsowners | VIEW | +--------------+---------------+------------+
Zapytanie o to bez filtrowania wyników według TABLE_SCHEMA
zwraca widoki ze wszystkich baz danych. Podobnie, zapytanie bez filtrowania według TABLE_TYPE
zwraca wszystkie typy tabel.
mariadb-show
Klient
Innym sposobem na to jest mariadb-show
pożytek.
Aby użyć tej opcji, otwórz wiersz poleceń/okno terminala i uruchom następujące polecenie (zastępując pethouse
z interesującą Cię bazą danych):
mariadb-show pethouse;
Wynik:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Spowoduje to zwrócenie widoków i tabel.
Dane wyjściowe wyświetlają tylko nazwy tych baz danych, tabel lub kolumn, do których masz pewne uprawnienia.
Jeśli nie podano bazy danych, wyświetlane są wszystkie pasujące bazy danych. Jeśli nie podano tabeli, wyświetlane są wszystkie pasujące tabele w bazie danych. Jeśli nie podano żadnej kolumny, wyświetlane są wszystkie pasujące kolumny i typy kolumn w tabeli.
Klient może być również uruchomiony jako mysqlshow
:
mysqlshow pethouse;
To narzędzie akceptuje sporo opcji, takich jak --user
(abyś mógł przekazać nazwę użytkownika), --password
(abyś mógł przekazać hasło) itp.
Zobacz dokumentację MariaDB, aby uzyskać pełną listę opcji.