Как показать список всех баз данных в MySQL
При администрировании серверов баз данных MySQL одна из наиболее распространенных задач, которые вам нужно будет выполнить, — это познакомиться со средой. Сюда входят такие задачи, как перечисление баз данных, находящихся на сервере, отображение таблиц конкретной базы данных или получение информации об учетных записях пользователей и их привилегиях.
В этом руководстве объясняется, как отобразить все базы данных на сервере MySQL или MariaDB через командную строку.
Показать базы данных MySQL
Самый распространенный способ получить список баз данных MySQL — это использовать клиент mysql для подключения к серверу MySQL и выполнить команду SHOW DATABASES .
Получите доступ к серверу MySQL с помощью следующей команды и при появлении запроса введите пароль пользователя MySQL:
Из оболочки MySQL выполните следующую команду:
Команда напечатает список всех баз данных, для которых пользователю предоставлены какие-либо права . Результат будет примерно таким:
Еще одна команда, которую вы можете использовать для SHOW SCHEMAS списка баз данных, — это SHOW SCHEMAS которая является синонимом команды SHOW DATABASES :
Вывод будет таким же, как при использовании команды SHOW DATABASES :
Показать все базы данных MySQL
Чтобы вывести список всех баз данных на сервере MySQL, вам необходимо войти в систему как пользователь, имеющий доступ ко всем базам данных, по умолчанию это пользователь root MySQL или установить глобальную привилегию SHOW DATABASES .
Войдите в систему как root-пользователь MySQL:
Запустите команду SHOW DATABASES :
Вы увидите список всех баз данных на сервере MySQL:
Фильтрация результата
Предложение LIKE можно использовать для фильтрации вывода команды SHOW DATABASES соответствии с определенным шаблоном.
Например, следующий оператор вернет все базы данных, имена которых начинаются с 'open':
Если вы хотите выполнить более сложный поиск, вы запрашиваете таблицу schemata из базы данных information_schema которая содержит информацию обо всех базах данных.
Следующая инструкция предоставит вам список всех баз данных, которые начинаются с «open» или «word»:
Показать базы данных MySQL из командной строки
Чтобы получить список баз данных без входа в оболочку MySQL, вы можете использовать либо команду mysql с параметром -e что означает выполнение, либо mysqlshow который отображает информацию о базах данных и таблицах.
Это особенно полезно, когда вы хотите работать со своими базами данных MySQL с помощью сценариев оболочки.
Выполните следующую команду на своем терминале, чтобы отобразить список всех баз данных:
Вот пример использования команды mysqlshow :
Вывод будет идентичен выводу предыдущей команды.
Если вы хотите отфильтровать вывод, вы можете использовать команду grep .
mysql_db_name
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:
- Запрос: SELECT DATABASE()
Описание
Возвращает название базы данных из вызова к mysql_list_dbs() .
Список параметров
Дескриптор результата, полученный из вызова mysql_list_dbs() .
Индекс в результате.
Возвращаемые значения
Возвращает название базы данных в случае успешного выполнения, или false в случае ошибки. В случае возврата false используйте mysql_error() для определения природы ошибок.
Примеры
Пример #1 Пример использования mysql_db_name()
$link = mysql_connect ( ‘dbhost’ , ‘username’ , ‘password’ );
$db_list = mysql_list_dbs ( $link );
$i = 0 ;
$cnt = mysql_num_rows ( $db_list );
while ( $i < $cnt ) <
echo mysql_db_name ( $db_list , $i ) . «\n» ;
$i ++;
>
?>
Примечания
Замечание:
Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_dbname()
Как узнать название базы данных mysql
Как быть, если вы забыли имя базы или таблицы, или структуру какой-либо из таблиц (например имена столбцов)? В MySQL эта проблема решается при помощи нескольких команд, выводящих информацию о базе данных и содержащихся в ней таблицах.
Вы уже познакомились с командой SHOW DATABASES , выводящей список управляемых сервером баз данных. Определить, какая из них выбрана в данный момент, можно с помощью функции DATABASE() :
Если ни одна из баз не выбрана, результат будет пуст.
Выяснить, какие таблицы содержит текущая база данных (что необходимо, если, например, никак не получается вспомнить имя нужной таблицы), можно при помощи следующей команды:
Узнать структуру таблицы можно при помощи команды DESCRIBE , которая выводит информацию о каждом из столбцов таблицы:
Field — имя столбца, Type — тип данных, к которому относится этот столбец, NULL указывает, может ли данный столбец содержать значения NULL , Key — является ли этот столбец индексным, и, наконец, Default указывает значение данного столбца по умолчанию.
Если для таблицы созданы индексы, информацию о них можно получить с помощью команды SHOW INDEX FROM tbl_name .
Как вывести список баз данных
SHOW DATABASES (и прочие SHOW ) запросами не являются!
Одним из правильных решений (особенно если это учебно-зачётная задача) является запрос типа
![]()
Вот пример с вашим _db .
Второй пример для того если _db в середине имени базы данных а не в конце.
Вот здесь подробно все описано.
![]()
SHOW DATABASES поддерживает like
SHOW DATABASES LIKE ‘%_db%’; Вот так нормально
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.3.43278
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.