По-долу са изброени четири начина за изброяване на таблиците в база данни на MariaDB с помощта на SQL или командния ред.
SHOW TABLES
Команда
SHOW TABLES
командата изброява не-TEMPORARY
таблици, последователности и изгледи в дадена база данни:
SHOW TABLES;
Резултат:
+--------------------+ | Tables_in_pethouse | +--------------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +--------------------+
Това изброява всички таблици в текущата база данни, която се нарича pethouse
.
Можем също да използваме FULL
модификатор за връщане на втора колона, която показва типа:
SHOW FULL TABLES;
Резултат:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Можем да видим, че повечето от „таблиците“ в тази база данни всъщност са изгледи.
Ако искаме да бъдат върнати само базови таблици, можем да използваме WHERE
клауза:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Резултат:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | +--------------------+------------+
SHOW TABLES
също така приема LIKE
клауза, която може да се използва за стесняване на резултатите само до тези таблици, които съответстват на даден модел:
SHOW TABLES
LIKE 'pet%';
Резултат:
+---------------------------+ | Tables_in_pethouse (pet%) | +---------------------------+ | PetTypes | | Pets | +---------------------------+
SHOW TABLE STATUS
Команда
SHOW TABLE STATUS
командата е подобна на SHOW TABLES
команда, но предоставя по-подробна информация за всеки (не-TEMPORARY
) маса.
Също така приема WHERE
и LIKE
клауза, като SHOW TABLES
.
Пример:
SHOW TABLE STATUS
LIKE 'pet%';
Резултат:
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | 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
Таблица
Можем също да направим заявка за information_schema.TABLES
таблица:
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';
Резултат:
+------------+ | TABLE_NAME | +------------+ | Pets | | Owners | | PetTypes | +------------+
Запитване за това без филтриране на резултатите по TABLE_SCHEMA
връща таблици от всички бази данни. По същия начин, заявка за него без филтриране по TABLE_TYPE
връща всички типове таблици.
mariadb-show
Клиент
Друг начин да го направите е с mariadb-show
полезност.
За да използвате тази опция, отворете прозореца на командния ред/терминала и изпълнете следното (заменяйки pethouse
с базата данни, от която се интересувате):
mariadb-show pethouse;
Резултат:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Това връща изгледи и таблици.
Резултатът показва само имената на тези бази данни, таблици или колони, за които имате някои привилегии.
Ако не е дадена база данни, се показват всички съвпадащи бази данни. Ако не е дадена таблица, тогава се показват всички съвпадащи таблици в базата данни. Ако не е дадена колона, тогава се показват всички съвпадащи колони и типове колони в таблицата.
Клиентът може да се стартира и като mysqlshow
:
mysqlshow pethouse;
Тази помощна програма приема доста опции, като --user
(за да можете да подадете потребителското име), --password
(за да можете да предадете паролата) и т.н.
Вижте документацията на MariaDB за пълен списък с опции.