Мы будем использовать таблицу links, созданную в статье по созданию таблиц в MySQL. Если вы еще не создали таблицу links, мы настоятельно рекомендуем создать ее перед тем, как приступить к изучению этой статьи.
Чтобы вставить новую строку в таблицу с помощью Perl DBI, вам необходимо выполнить следующие шаги:
Обратите внимание, что вы можете выполнить инструкцию UPDATE или DELETE , используя эти шаги.
Следующий скрипт позволяет вставлять данные в таблицу ссылок:
#!/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.
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.