Описание: в этой статье мы покажем вам шаг за шагом, как обновлять данные таблицы в базе данных MySQL с помощью Perl DBI.
Чтобы обновить данные в таблице, вы используете оператор 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();
В следующем примере данные в таблице ссылок обновляются с помощью идентификатора ссылки 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.