Poniżej znajdują się cztery sposoby na wyświetlenie listy tabel 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:
SHOW TABLES; Wynik:
+--------------------+ | Tables_in_pethouse | +--------------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +--------------------+
To zawiera listę wszystkich tabel w bieżącej bazie danych, która nazywa się pethouse .
Możemy również użyć FULL modyfikator, aby zwrócić drugą kolumnę wyświetlającą typ:
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 | +--------------------+------------+
Widzimy, że większość „tabel” w tej bazie danych to w rzeczywistości widoki.
Jeśli chcemy, aby zwracane były tylko tabele bazowe, możemy użyć WHERE klauzula:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE'; Wynik:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | +--------------------+------------+
SHOW TABLES akceptuje również LIKE klauzula, której można użyć do zawężenia wyników tylko do tych tabel, które pasują do danego wzorca:
SHOW TABLES
LIKE 'pet%'; Wynik:
+---------------------------+ | Tables_in_pethouse (pet%) | +---------------------------+ | PetTypes | | Pets | +---------------------------+
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 ) stół.
Akceptuje również WHERE i LIKE klauzula, np. SHOW TABLES .
Przykład:
SHOW TABLE STATUS
LIKE 'pet%'; 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 | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | 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 Tabela
Możemy również wysłać zapytanie do information_schema.TABLES tabela:
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE'; Wynik:
+------------+ | TABLE_NAME | +------------+ | Pets | | Owners | | PetTypes | +------------+
Zapytanie o to bez filtrowania wyników według TABLE_SCHEMA zwraca tabele 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.