По-долу са изброени четири начина за изброяване на изгледите в база данни на MariaDB с помощта на SQL или командния ред.
SHOW TABLES
Команда
SHOW TABLES
командата изброява не-TEMPORARY
таблици, последователности и изгледи в дадена база данни. Можем да използваме WHERE
клауза, за да я стесните до само изгледи.
Можем също да използваме FULL
модификатор за връщане на втора колона, която показва типа:
SHOW FULL TABLES
WHERE Table_Type LIKE 'VIEW';
Резултат:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Пропускане на WHERE
клауза връща всички типове:
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 | +--------------------+------------+
SHOW TABLE STATUS
Команда
SHOW TABLE STATUS
командата е подобна на SHOW TABLES
команда, но предоставя по-подробна информация за всеки (не-TEMPORARY
) таблица.
Пример:
SHOW TABLE STATUS;
Резултат:
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | 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 | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
Също така приема WHERE
и LIKE
клауза, в случай че искате да стесните резултатите.
information_schema.TABLES
Таблица
Можем също да направим заявка за information_schema.TABLES
таблица:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'VIEW';
Резултат:
+--------------+---------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+---------------+------------+ | PetHouse | vpettypecount | VIEW | | PetHouse | vpetstypes | VIEW | | PetHouse | vownercount | VIEW | | PetHouse | vpetcount | VIEW | | PetHouse | vpetsowners | VIEW | +--------------+---------------+------------+
Запитване за това без филтриране на резултатите по 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 за пълен списък с опции.