ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как подключиться к MySQL из Perl с примером выбора записей

Q: Как я могу подключиться к базе данных MySQL из программы на Perl? Я хотел подключиться к существующей базе данных MySQL и сделать выбора записей из определенной таблицы. Можете ли вы объяснить с помощью простого рабочего примера?

A: Вы должны использовать модуль Perl DBI для подключения к базе данных MySQL, как описано ниже.

Если у вас не установлен модуль Perl DBI и DBD::mysql, установите Perl модуль с помощью CPAN.

# perl -MCPAN -e shell
cpan> install DBI
cpan> install DBD::mysql

 

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

1. Подключение к базе данных MySQL

В модуле DBI, вы будете использовать функцию connect как показано ниже.

$dbc = DBI->connect($source, $username, $password)

 

Функция DBI->connect принимает следующие три аргумента:

Вы должны сохранить возвращаемое значение DBI->connect в переменной, которую вы будете использовать для подготовки отчета в SQL.

2. Подготовить заявление SQL

После того, как вы подключились, вы будете использовать подготовить заявление SQL с помощью команды prepare. Вы будете вызывать команду prepare с помощью переменной, которую была возвращена функция DBI-> connect.

Следующая команда подготовит команду SQL.

$sql = $dbc->prepare("select id, name from employee");

 

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

3. Выполнить инструкции SQL

После того, как вы подготовили заявление SQL, выполните оператор, используя команду execute. Вы вызовите команду execute с помощью переменной, который был возвращен функцией prepare.

$out = $sql->execute()

 

4. Цикл по записям

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

while (($id, $name) = $sql->fetchrow_array())
{
 print "Id: $id Name: $name\n";
}

 

5. Рабочий пример MySQL на Perl

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

$ vi connect.pl
#!/usr/bin/perl

use DBI;

$source = "DBI:mysql:mycompany:localhost";
$username = "root";
$password = "мой_пароль";

$dbc = DBI->connect($source, $username, $password)
or die "Не могу подключиться к mysql: $DBI::errstr\n";

$sql = $dbc->prepare("select id, name from employee");

$out = $sql->execute()
or die "Невозможно выполнить sql: $sql->errstr";

while (($id, $name) = $sql->fetchrow_array())
{
 print "Id: $id Имя: $name\n";
}

 

При выполнении приведенного выше кода connect.pl Perl, он будет отображать записи из таблицы сотрудников, как показано ниже.

$ ./connect.pl
Id: 100 Имя: AndreyEx
Id: 200 Имя: Inna
Id: 300 Имя: Alex
Id: 400 Имя: Anna
Id: 500 Имя: Roman
Id: 501 Имя: Leonid

Как подключиться к MySQL из Perl с примером выбора записей

Exit mobile version