Перейти к содержимому

Как посмотреть список баз данных mysql

  • автор:

mysql_list_dbs

Данная функция объявлена устаревшей в PHP 5.4.0, и, вместе с модулем MySQL, удалена PHP в 7.0.0. Вместо неё используйте активно развивающиеся модули MySQLi или PDO_MySQL. Так же смотрите раздел MySQL: выбор API. Альтернативы для этой функции:

  • SQL запрос: SHOW DATABASES

Описание

mysql_list_dbs ( resource $link_identifier = NULL ): resource

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

Список параметров

Соединение MySQL. Если идентификатор соединения не был указан, будет использовано последнее соединение, открытое mysql_connect() . Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING .

Возвращаемые значения

Возвращает resource результата в случае успешного выполнения, или false в случае возникновения ошибки. Используйте функцию mysql_tablename() , чтобы получить данные из результата, или любую другую функцию, работающую с результатами запросов, например mysql_fetch_array() .

Примеры

Пример #1 Пример использования mysql_list_dbs()

// Без использования mysql_list_dbs()
$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
$res = mysql_query ( «SHOW DATABASES» );

while ( $row = mysql_fetch_assoc ( $res )) echo $row [ ‘Database’ ] . «\n» ;
>

// Устарело, начиная с PHP 5.4.0
$link = mysql_connect ( ‘localhost’ , ‘mysql_user’ , ‘mysql_password’ );
$db_list = mysql_list_dbs ( $link );

while ( $row = mysql_fetch_object ( $db_list )) echo $row -> Database . «\n» ;
>
?>

Вывод приведённого примера будет похож на:

database1 database2 database3

Примечания

Замечание:

Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_listdbs()

Смотрите также

  • mysql_db_name() — Возвращает название базы данных из вызова к mysql_list_dbs
  • mysql_select_db() — Выбирает базу данных MySQL

User Contributed Notes 4 notes

3 years ago

There is no direct equivalent of mysql_list_dbs() as a mysqli_list_dbs() command, but you can query «show databases» instead.

$db_list = mysql_list_dbs($connect); //mysql

Is equivalent to this:

$db_list = mysqli_query($connect, «SHOW DATABASES»); //mysqli

8 years ago

The example is wrong in Spanish version.

ERROR: mysql_fetch_assoc() expects parameter 1 to be resource, null given in XXX on line 5
while ($fila = mysql_fetch_assoc($res))

OK.
while ($fila = mysql_fetch_assoc($resultado))
13 years ago

The result pointer contains only the databases for which the mysql_user has the select priviledge granted.

11 years ago

Another alternative to this function is:

SQL Query: SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA

  • MySQL
    • mysql_​affected_​rows
    • mysql_​client_​encoding
    • mysql_​close
    • mysql_​connect
    • mysql_​create_​db
    • mysql_​data_​seek
    • mysql_​db_​name
    • mysql_​db_​query
    • mysql_​drop_​db
    • mysql_​errno
    • mysql_​error
    • mysql_​escape_​string
    • mysql_​fetch_​array
    • mysql_​fetch_​assoc
    • mysql_​fetch_​field
    • mysql_​fetch_​lengths
    • mysql_​fetch_​object
    • mysql_​fetch_​row
    • mysql_​field_​flags
    • mysql_​field_​len
    • mysql_​field_​name
    • mysql_​field_​seek
    • mysql_​field_​table
    • mysql_​field_​type
    • mysql_​free_​result
    • mysql_​get_​client_​info
    • mysql_​get_​host_​info
    • mysql_​get_​proto_​info
    • mysql_​get_​server_​info
    • mysql_​info
    • mysql_​insert_​id
    • mysql_​list_​dbs
    • mysql_​list_​fields
    • mysql_​list_​processes
    • mysql_​list_​tables
    • mysql_​num_​fields
    • mysql_​num_​rows
    • mysql_​pconnect
    • mysql_​ping
    • mysql_​query
    • mysql_​real_​escape_​string
    • mysql_​result
    • mysql_​select_​db
    • mysql_​set_​charset
    • mysql_​stat
    • mysql_​tablename
    • mysql_​thread_​id
    • mysql_​unbuffered_​query
    • Copyright © 2001-2024 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

    Как показать список всех баз данных в MySQL

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

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

    Показать базы данных MySQL

    Самый распространенный способ получить список баз данных MySQL — это использовать клиент mysql для подключения к серверу MySQL и выполнить команду SHOW DATABASES .

    Получите доступ к серверу MySQL с помощью следующей команды и при появлении запроса введите пароль пользователя MySQL:

    mysql -u user -p

    Если вы не установили пароль для своего пользователя MySQL, вы можете опустить переключатель -p .

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

    SHOW DATABASES;

    Команда напечатает список всех баз данных, для которых пользователю предоставлены какие-либо права . Результат будет примерно таким:

    +--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+ 2 rows in set (0.00 sec) 

    Еще одна команда, которую вы можете использовать для SHOW SCHEMAS списка баз данных, — это SHOW SCHEMAS которая является синонимом команды SHOW DATABASES :

    SHOW SCHEMAS;

    Вывод будет таким же, как при использовании команды SHOW DATABASES :

    +--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+ 2 rows in set (0.00 sec) 

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

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

    Войдите в систему как root-пользователь MySQL:

    mysql -u user -p

    Запустите команду SHOW DATABASES :

    SHOW DATABASES;

    Вы увидите список всех баз данных на сервере MySQL:

    +--------------------+ | Databases | +--------------------+ | information_schema | | database_name | | mysql | | opencart | | wordpress | | performance_schema | | sys | +--------------------+ 7 rows in set (0.00 sec) 

    Фильтрация результата

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

    SHOW DATABASES LIKE pattern;

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

    SHOW DATABASES LIKE 'open%';
    +--------------------+ | Database | +--------------------+ | opencart | +--------------------+ 1 rows in set (0.00 sec) 

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

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

    Следующая инструкция предоставит вам список всех баз данных, которые начинаются с «open» или «word»:

    SELECT schema_nameFROM information_schema.schemataWHERE schema_name LIKE 'open%' OR  schema_name LIKE 'word%';
    +--------------------+ | Database | +--------------------+ | opencart | | wordpress | +--------------------+ 2 rows in set (0.00 sec) 

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

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

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

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

    mysql -u user -p -e 'show databases;'
    +--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+ 

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

    mysqlshow -u user -p

    Вывод будет идентичен выводу предыдущей команды.

    Если вы хотите отфильтровать вывод, вы можете использовать команду grep .

    Выводы

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

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

    Как посмотреть список всех баз данных на сервере с помощью phpMyAdmin

    Для того, чтобы начать работать с базами данных, нужно сперва открыть их список, чтобы понять, какие базы данных вообще есть на сервере. Для этого можно использовать phpMyAdmin, который и предназначен для того, чтобы работать с база данных. И, как было описано ранее, вход в phpMyAdmin осуществляется не по имени базы данных, а по имени пользователя. А это значит, что в списке баз данных, полученных в phpMyAdmin будут те, которыми может управлять данный пользователь. Ну и конечно из-под root —пользователя можно увидеть полный список баз данных MySQL, имеющихся на сервере на текущий момент.

    Список баз данных MySQL в левом меню phpMyAdmin

    phpMyAdmin спроектирован так, что слева всегда есть меню со списком всех доступных текущему пользователю баз данных. Этим списком имеет смысл пользоваться для выбора нужной базы данных, но работа с таблицами в этом списке может быть затруднена, если в базе данных содержится много таблиц. Для этого лучше пользоваться основным окном phpMyAdmin. То, как выглядит левое меню со списком баз данных можно посмотреть на картинке ниже.

    Внешний вид окна phpMyAdmin со списком баз данных

    Так выглядит окно phpMyAdmin со списком баз данных:

    Внешний вид окна phpMyAdmin со списком баз данных

    Список баз данных MySQL в основном окне phpMyAdmin

    Для того, чтобы открыть список баз данных MySQL, принадлежащих текущему пользователю, в основном окне phpMyAdmin, нужно воспользоваться пунктом «Базы данных» Главного меню phpMyAdmin. То, как он выглядит, можно посмотреть на картинке выше.

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

    Заберите ссылку на статью к себе, чтобы потом легко её найти!
    Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
    Не надо себя сдерживать! 😉

    Как посмотреть список баз данных mysql

    Как быть, если вы забыли имя базы или таблицы, или структуру какой-либо из таблиц (например имена столбцов)? В MySQL эта проблема решается при помощи нескольких команд, выводящих информацию о базе данных и содержащихся в ней таблицах.

    Вы уже познакомились с командой SHOW DATABASES , выводящей список управляемых сервером баз данных. Определить, какая из них выбрана в данный момент, можно с помощью функции DATABASE() :

    mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+

    Если ни одна из баз не выбрана, результат будет пуст.

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

    mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | event | | pet | +---------------------+

    Узнать структуру таблицы можно при помощи команды DESCRIBE , которая выводит информацию о каждом из столбцов таблицы:

    mysql> DESCRIBE pet; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+

    Field — имя столбца, Type — тип данных, к которому относится этот столбец, NULL указывает, может ли данный столбец содержать значения NULL , Key — является ли этот столбец индексным, и, наконец, Default указывает значение данного столбца по умолчанию.

    Если для таблицы созданы индексы, информацию о них можно получить с помощью команды SHOW INDEX FROM tbl_name .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *