Как составить список баз данных MySQL (пошаговое руководство по коду)

Опубликовано: 2022-10-22

MySQL — одна из наиболее широко используемых на сегодняшний день систем управления реляционными базами данных (RDBMS). Это надежная платформа базы данных, которая позволяет создавать масштабируемые базы данных и управлять ими, в основном с использованием языка структурированных запросов (SQL).

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

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

Предварительные условия для перечисления баз данных MySQL

Для начала у вас должен быть запущен сервер MySQL на вашем локальном компьютере. Если у вас нет MySQL, есть несколько способов установить его:

  • Установите WAMPServer, XAMPP, MAMP или любой другой стек распространения программного обеспечения, включающий MySQL.
  • Загрузите и запустите установщик MySQL прямо с их официального веб-сайта, выполнив процесс установки для настройки и установки сервера MySQL и других инструментов.

Чтобы удобно запускать команды MySQL с помощью командной строки, вам необходимо добавить путь к исполняемому файлу MySQL в среду вашей системы. Если вы установили MySQL, используя второй вариант, этот шаг не нужен, поэтому не стесняйтесь пропустить следующий раздел.

Добавьте путь MySQL в среду переменных вашей системы

В этом разделе рассказывается, как добавить путь к исполняемому файлу MySQL в переменную среду вашей системы, если вы используете XAMPP или WAMP на компьютере с Windows.

Сначала запустите проводник Windows и перейдите к « Этот компьютер ». Щелкните диск, на который вы установили пакет WAMP или XAMPP ( C: ).

Если вы используете XAMPP, перейдите к xampp > mysql > bin и скопируйте полный путь к папке bin . Для WAMP перейдите через {your-wamp-version} > bin > mysql > {your-mysql-version} > bin до полного пути.

Полный путь для доступа к MySQL CLI.
Полный путь к папке bin.

Нажмите меню « Пуск » и найдите «путь». Щелкните Изменить системную переменную среды .

Затем нажмите « Переменные среды » в разделе «Запуск и восстановление », выберите переменную PATH и нажмите « Изменить ».

Затем нажмите « Создать » и вставьте полный путь к исполняемому файлу MySQL (который вы скопировали ранее).

Редактирование переменных окружения.
Редактирование переменной окружения.

Затем сохраните изменения, нажав ОК .

Теперь, когда путь добавлен, вы можете выполнять команды MySQL в терминале.

Войти в MySQL

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

Перед входом в систему через командную строку убедитесь, что ваш сервер MySQL запущен:

 mysql -u -p

ПРИМЕЧАНИЕ: заменить с вашим именем пользователя. Имя пользователя по умолчанию для MySQL — root , а пароль пустой (по умолчанию пароль отсутствует).

Вход в MySQL через терминал.
Вход в MySQL.

Показать базы данных внутри сервера MySQL

Теперь, когда вы вошли в систему, вы можете перечислить базы данных MySQL, присутствующие на сервере, выполнив команду SHOW DATABASES :

 SHOW DATABASES;

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

Показаны базы данных MySQL.
Список баз данных, находящихся в хранилище.

Из шести возвращенных баз данных information_schema и performance_schema являются базами данных по умолчанию, которые автоматически генерируются при установке MySQL.

База данных information_schema — это немодифицируемая база данных, в которой хранится вся информация, относящаяся к базам данных и другим объектам (представлениям, привилегиям пользователей, таблицам, ограничениям и т. д.), хранящимся на сервере MySQL.

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

Раньше вы возвращали все базы данных на сервер MySQL с помощью SHOW DATABASES , но вам часто приходится фильтровать вывод базы данных, в основном, когда на сервере много баз данных.

Предложение LIKE фильтрует результат SHOW DATABASE на основе указанного шаблона. Вот общий синтаксис:

 SHOW DATABASES LIKE '';

Это должна быть строка, представляющая шаблон, который вы хотите сопоставить. Строка должна заканчиваться символом процента, % , который обозначает один или несколько символов.

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

 SHOW DATABASES LIKE 'w%';

Вот отфильтрованный результат:

Фильтр-список-mysql-баз данных
Отфильтрованный ответ базы данных при использовании «w%».

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

Ранее вы видели, как база данных information_schema хранит всю информацию, относящуюся к базам данных, таблицам и другим объектам в среде сервера MySQL.

База данных information_schema использует таблицу схем для хранения информации обо всех базах данных. Для фильтрации базы данных вы можете выполнить сложный поиск, чтобы запросить таблицу схемы для определенных баз данных.

Например, если вам нужны базы данных, имена которых начинаются с «samp» или «word», вы можете объединить несколько других предложений, чтобы создать сложный запрос:

 SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';

Вот результат:

Использование MySQL
Результаты сложного запроса.

Кроме того, у вас есть таблица tables из базы данных information_schema , которая содержит информацию обо всех таблицах. Точно так же вы можете выполнить запрос, чтобы получить только те таблицы, которые соответствуют указанному шаблону.

Например, следующий запрос возвращает информацию о схеме только таблиц WordPress — только тех таблиц, имена которых начинаются с «wp_»:

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Вот результат:

Боретесь с простоями и проблемами WordPress? Kinsta — это решение для хостинга, предназначенное для экономии вашего времени! Ознакомьтесь с нашими возможностями

Список таблицы базы данных MySQL wp_tables.
Результаты схемы информации только таблиц WordPress.

Другие таблицы в information_schema включают columns , constraints , table_constraints , check_constraints и referential_constraints .

Распространенные проблемы и рекомендации

Одной из наиболее распространенных причин ошибок при выполнении SQL является неиспользование точки с запятой в конце операторов.

Другой использует недопустимый синтаксис SQL или неправильно написанное имя таблицы/столбца. Чтобы избежать этого, перепроверьте имя таблицы или столбца, чтобы убедиться, что оно написано правильно. Не забудьте также перепроверить свой синтаксис.

Вот некоторые другие рекомендации, о которых следует помнить.

Используйте верхний регистр для ключевых слов SQL

При написании кода SQL всегда используйте прописные буквы для ключевых слов SQL и строчные буквы для имен таблиц и имен столбцов. Это делает ваш код более читаемым и менее восприимчивым к ошибкам.

Итак, вместо этого:

 select * from information_schema.tables where table_name like 'wp_%';

Сделай это:

 SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Избегайте использования SELECT *

Избегайте использования SELECT * в ваших SQL-запросах. Ваш запрос неясен, потому что вы не всегда можете знать, что он вернет. Вместо этого укажите столбцы, которые вы хотите выбрать из таблицы.

Итак, вместо этого:

 SELECT * EXCEPT(phone) FROM users.profile

Сделай это:

 SELECT name, dob, address, country, address, FROM user.profile

Отступ вашего кода

Наконец, еще один совет, облегчающий поиск ошибок, — создание отступов в коде. Это делает его более читабельным!

Менеджеры баз данных

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

Менеджер базы данных DevKinsta.
Менеджер базы данных DevKinsta.

На выбор доступно несколько инструментов, включая phpMyAdmin и Adminer, оба из которых доступны через DevKinsta. Инструментом управления по умолчанию для DevKinsta является Adminer, так как он легкий, простой и быстрый, но к phpMyAdmin можно легко получить доступ.

Резюме

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

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