Все, что вам нужно знать о листинге баз данных MySQL

Одна из первых вещей, которую вы захотите узнать при входе на новый сервер MySQL, – это то, какие базы данных доступны. Вам может понадобиться список баз данных при выполнении обслуживания. Или, возможно, вам просто интересно или вы пытаетесь найти старую базу данных, имя которой вы давно забыли.

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

В этой статье вы узнаете все, что вам нужно знать о листинге баз данных MySQL.

Как использовать команду SHOW DATABASES

После входа на сервер MySQL введите текст ПОКАЗАТЬ БАЗЫ ДАННЫХ; в командной строке и нажмите Enter на клавиатуре – вы можете увидеть пример ниже.

MySQL возвращает результаты в виде таблицы с одним столбцом: База данных . Этот столбец содержит название каждой базы данных и упорядочивает их в алфавитном порядке. В итоговой строке указано количество строк, т. Е. Баз данных.

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

  • mysql.
  • information_schema.
  • performance_schema.
  • sys.

Вы увидите, какой из них – information_schema – используется для дальнейшего использования.

Фильтрация результатов SHOW DATABASES

Вы можете использовать то же условие LIKE, что и в предложении WHERE оператора SELECT . LIKE принимает единственный аргумент, шаблон для сопоставления. Шаблон может включать два специальных символа: % (процент) и _ (подчеркивание). Они соответствуют любой строке и любому отдельному символу соответственно.

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

 SHOW DATABASES LIKE '%a%';

Как использовать более сложные условия

Если вам нужно использовать более сложное условное выражение, чем базовое сопоставление с образцом LIKE, вы все равно можете использовать знакомое предложение WHERE. Уловка, которую вам нужно будет применить, – это сослаться на столбец, представляющий имена баз данных. Как видно из вывода выше, это просто база данных . Теперь, поскольку MySQL считает это ключевое слово зарезервированным, вам нужно экранировать его с помощью обратных кавычек.

 SHOW DATABASES WHERE LENGTH(`Database`) > 6;

Теперь результаты содержат только таблицы с именами длиной более шести символов:

Связано: Руководство для начинающих по написанию схем баз данных MySQL

Фильтрация баз данных по другим метаданным

MySQL поддерживает несколько других полей, связанных с базой данных, но они недоступны через SHOW_DATABASES . Для этого вам нужно использовать таблицу схем из базы данных information_schema . Вот как выглядит структура этой специальной системной таблицы:

Помимо SCHEMA_NAME , который точно такой же, как столбец базы данных из SHOW DATABASES, есть только два полезных поля: DEFAULT_CHARACTER_SET_NAME и DEFAULT_COLLATION_NAME . Остальные поля всегда имеют одно и то же значение, поэтому они бессмысленны, когда дело доходит до фильтрации.

Поля DEFAULT_CHARACTER_SET_NAME и DEFAULT_COLLATION_NAME определяют, какие символы поддерживает база данных и как их упорядочивать. Возможно, вы раньше не думали о них, но они важны, если вы имеете дело с текстом, отличным от ASCII.

Важно знать разницу между ASCII и Unicode ! Если у вас установлено несколько баз данных из разных источников, у вас, скорее всего, будет диапазон значений.

Повторно используя предыдущий пример, вы можете фильтровать столбцы из этой таблицы, как и любую другую:

 SELECT schema_name FROM information_schema.schemata WHERE DEFAULT_CHARACTER_SET_NAME='utf8';

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

 SELECT DEFAULT_CHARACTER_SET_NAME, COUNT(*) FROM information_schema.schemata GROUP BY DEFAULT_CHARACTER_SET_NAME;

Связано: все, что вам нужно знать об операторе SQL GROUP BY

Использование простой команды в MySQL для вывода списка баз данных

Это, вероятно, самая простая команда, которую может предложить MySQL. Но это не мешает ему быть очень полезным. Если вы когда-нибудь обнаружите, что смотрите на командную строку MySQL, не забудьте нарисовать пробел, SHOW DATABASES – хороший способ начать с нуля.

Когда у вас есть база данных и вы знаете, с какой из них работаете, пора узнать больше о схемах и о том, как лучше всего организовать ваши данные.