Просмотр списка таблиц в базе данных MySQL

При управлении серверами баз данных MySQL одна из наиболее частых задач, которые вы выполняете, — это знакомство со средой. Это включает в себя перечисление баз данных, которые находятся на сервере, отображение таблиц базы данных или получение информации об учетных записях пользователей и их привилегиях .

В этой статье показано, как вывести список таблиц в базе данных MySQL или MariaDB через командную строку.

Показать таблицы MySQL

Чтобы получить список таблиц в базе данных MySQL, используйте клиентский инструмент mysql для подключения к серверу MySQL и выполните команду SHOW TABLES .

Доступ к серверу MySQL:

mysql -u user -p

Из оболочки MySQL переключитесь на базу данных с помощью оператора USE :

USE database_name;

Выполните следующую команду, чтобы получить список всех таблиц и представлений в текущей базе данных:

SHOW TABLES;

Результат будет выглядеть примерно так:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+
8 rows in set (0.00 sec)

Необязательный модификатор FULL покажет тип таблицы как второй выходной столбец.

SHOW FULL TABLES;

Результат будет выглядеть примерно так:

+----------------------------+------------+
| Tables_in_database_name    | Table_type |
+----------------------------+------------+
| actions                    | VIEW       |
| permissions                | BASE TABLE |
| permissions_roles          | BASE TABLE |
| permissions_users          | BASE TABLE |
| roles                      | BASE TABLE |
| roles_users                | BASE TABLE |
| settings                   | BASE TABLE |
| users                      | BASE TABLE |
+----------------------------+------------+

8 rows in set (0.00 sec)

Чтобы получить список таблиц без переключения на базу данных, используйте предложение FROM или IN , за которым следует имя базы данных:

SHOW TABLES FROM database_name;

Предложение LIKE можно использовать для фильтрации вывода команды SHOW TABLES соответствии с определенным шаблоном.

SHOW TABLES LIKE pattern;

Например, следующий оператор вернет все базы данных, имена которых начинаются с ‘open’:

SHOW TABLES LIKE 'permissions%';
+-------------------------------------------+
| Tables_in_database_name (permissions%)    |
+-------------------------------------------+
| permissions                               |
| permissions_roles                         |
| permissions_users                         |
+-------------------------------------------+
3 rows in set (0.00 sec)

Знак процента ( % ) означает ноль, один или несколько символов.

Показать таблицы MySQL из командной строки

Чтобы получить информацию о таблицах из оболочки Linux, вы можете использовать команду mysql -e или команду mysqlshow которая отображает информацию о базах данных и таблицах.

Это особенно полезно, когда вы хотите работать со своими базами данных MySQL с помощью сценариев оболочки.

Выполните следующую команду на своем терминале, чтобы отобразить список всех баз данных:

mysql -u user -p -e 'SHOW TABLES FROM database_name;'

В результате отобразится список всех таблиц:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+

Вот пример использования команды mysqlshow :

mysqlshow database_name

Вы можете отфильтровать вывод с помощью команды grep .

Выводы

Чтобы получить информацию о таблицах в базе данных MySQL, используйте команду SHOW TABLES .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Оставьте комментарий

Ваш адрес email не будет опубликован.