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

Вставка Данных в MySQL с помощью Perl

Учебник. MySQL и Perl

Мы будем использовать таблицу links, созданную в статье по созданию таблиц в MySQL. Если вы еще не создали таблицу links, мы настоятельно рекомендуем создать ее перед тем, как приступить к изучению этой статьи.

Вставка Данных в MySQL с помощью Perl

 

Чтобы вставить новую строку в таблицу с помощью Perl DBI, вам необходимо выполнить следующие шаги:

Обратите внимание, что вы можете выполнить инструкцию UPDATE или DELETE , используя эти шаги.

 

Пример вставки Perl MySQL

Следующий скрипт позволяет вставлять данные в таблицу ссылок:

#!/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";

# получить входные ссылки пользователя
my @links = get_links();

# подключение к базе данных MySQL
my %attr = (PrintError=>0,RaiseError=>1 );
my $dbh = DBI->connect($dsn,$username,$password,\%attr);

# вставка данных в таблицу ссылок
my $sql = "INSERT INTO links(title,url,target)
VALUES(?,?,?)";

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

# выполнение запроса
foreach my $link(@links){
if($stmt->execute($link->{title}, $link->{url}, $link->{target})){
say "link $link->{url} вставлено успешно";
}

}
$stmt->finish();

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

sub get_links{
my $cmd = '';
my @links;
# получение ссылок из командной строки
my($title,$url,$target);

# повторно запрашивать данные ссылки из командной строки
do{
say "title:";
chomp($title = <STDIN>);

say "url:";
chomp($url = <STDIN>);

say "target:";
chomp($target = <STDIN>);

#
my %link = (title=> $title, url=> $url, target=> $target);

push(@links,\%link);

print("\nВы хотите вставить еще одну ссылку? (Y/N)?");
chomp($cmd = <STDIN>);
$cmd = uc($cmd);
}until($cmd eq 'N');

return @links;
}

 

Как это работает.

Следующее иллюстрирует вывод, когда мы вставили 4 строки в таблицу links.

Демонстрация вставки в MySQL с помощью Perl
title:
MySQL
url:
http://andreyex.ru/
target:
_self

Вы хотите вставить еще одну ссылку? (Y/N)?Y
title:
Демонстрация вставки в MySQL с помощью Perl
url:
http://www.andreyex.ru/.../perl-mysql-insert/
target:
_blank

Вы хотите вставить еще одну ссылку? (Y/N)?Y
title:
Perl
url:
http://www.perl.org
target:
_blank

Вы хотите вставить еще одну ссылку? (Y/N)?Y
title:
MySQL
url:
http://www.mysql.com
target:
_self

Вы хотите вставить еще одну ссылку? (Y/N)?N
link http://andreyex.ru/ вставлено успешно
link http://www.andreyex.ru/perl-mysql/perl-mysql-insert/ вставлено успешно
link http://www.perl.org вставлено успешно
link http://www.mysql.com вставлено успешно

Мы можем проверить таблицу links, чтобы проверить операции вставки:

SELECT * FROM links;

 

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

Exit mobile version