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

Обновление данных в MySQL с помощью Perl

Учебник. MySQL и Perl

Описание: в этой статье мы покажем вам шаг за шагом, как обновлять данные таблицы в базе данных MySQL с помощью Perl DBI.

 

Обновление данных в MySQL с помощью Perl

Чтобы обновить данные в таблице, вы используете оператор UPDATE. Для обновления данных таблиц в базе данных MySQL с помощью DBI используются следующие шаги:

Сначала подключитесь к базе данных MySQL, используя метод connect().

my $dbh = DBI->connect($dsn,$username,$password, \%attr);

 

Затем создайте оператор UPDATE и передайте его методу prepare() объекта дескриптора базы данных, чтобы подготовить оператор к выполнению.

my $sql = "UPDATE table_name SET col_name = ? WHERE id=?";
my $sth = $dbh->prepare($sql);

 

Затем, если вы хотите передать значения из программы Perl в оператор UPDATE, вы помещаете заполнители (?) в оператор и связываете соответствующий параметр, используя метод  bind_param() объекта дескриптора оператора.

$sth->bind_param(1,$value);
$sth->bind_param(2,$id);

 

После этого вызовите метод execute() объекта дескриптора оператора для выполнения запроса.

$sth->execute();

 

Наконец, отключитесь от базы данных MySQL с помощью метода disconnect().

$dbh->disconnect();

 

Пример обновления данных MySQL с помощью Perl

В следующем примере данные в таблице ссылок обновляются с помощью идентификатора ссылки 2. Перед обновлением данных сначала рассмотрим таблицу ссылок:

SELECT * FROM links;

 

Смотрите следующую программу:

#!/usr/bin/perl
use strict;
use warnings;
use v5.10; # для функции say()

use DBI;

# Конфигурации баз данных MySQL
my $dsn = "DBI:mysql:perlmysqldb";
my $username = "root";
my $password = '';

say "Пример обновления данных MySQL с помощью Perl";

# подключение к базе данных MySQL
my %attr = ( PrintError=>0, RaiseError=>1);

my $dbh = DBI->connect($dsn,$username,$password, \%attr);

# заявление update
my $sql = "UPDATE links
SET title = ?,
url = ?,
target = ?
WHERE id = ?";

my $sth = $dbh->prepare($sql);

my $id = 2;
my $title = "Обновления данных в MySQl с помощью Perl";
my $url = "https://andreyex.ru/mysql/obnovlenie-dannyh-v-mysql-s-pomoshhyu-perl";
my $target = "_self";

# связать соответствующий параметр
$sth->bind_param(1,$title);
$sth->bind_param(2,$url);
$sth->bind_param(3,$target);
$sth->bind_param(4,$id);

# выполнение запроса
$sth->execute();

say "Запись была успешно обновлена !";

$sth->finish();

# отключитесь от базы данных MySQL
$dbh->disconnect();

 

Вывод программы:

Пример обновления данных MySQL с помощью Perl
Запись была успешно обновлена !

 

Давайте запросим таблицу links еще раз, чтобы проверить обновление.

SELECT * FROM links;

 

Ссылочная запись с идентификатором 2 была успешно изменена.

Из этого руководства вы узнали, как обновить данные в таблице MySQL, используя подготовленный оператор в Perl DBI.

Exit mobile version