Описание: в этой статье мы покажем вам, как использовать API Perl DBI для создания таблиц в базе данных MySQL.
Прежде чем делать что-либо еще с базами данных, например вставлять, обновлять, удалять и запрашивать данные, вам необходимо создать новые таблицы для хранения данных.
Чтобы создать новую таблицу, вы используете следующие шаги:
Мы собираемся создать три таблицы в примере базы данных perlmysqldb:
Следующая диаграмма иллюстрирует таблицы:
Ниже приведен скрипт Perl, который создает таблицы:
#!/usr/bin/perl use strict; use warnings; use v5.10; # для функции say() use DBI; say "Создание демонстрационных таблиц в MySQL с помощью Perl"; # Конфигурации баз данных MySQL my $dsn = "DBI:mysql:perlmysqldb"; my $username = "root"; my $password = ''; # подключение к базе данных MySQL my %attr = (PrintError=>0, RaiseError=>1); my $dbh = DBI->connect($dsn,$username,$password, \%attr); # создание таблиц my @ddl = ( # создать таблицу tags "CREATE TABLE tags ( tag_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, tag varchar(255) NOT NULL ) ENGINE=InnoDB;", # создать таблицу links "CREATE TABLE links ( link_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, title varchar(255) NOT NULL, url varchar(255) NOT NULL, target varchar(45) NOT NULL ) ENGINE=InnoDB;", # создать таблицу link_tags "CREATE TABLE link_tags ( link_id int(11) NOT NULL, tag_id int(11) NOT NULL, PRIMARY KEY (link_id,tag_id), KEY fk_link_idx (link_id), KEY fk_tag_idx (tag_id), CONSTRAINT fk_tag FOREIGN KEY (tag_id) REFERENCES tags (tag_id), CONSTRAINT fk_link FOREIGN KEY (link_id) REFERENCES links (link_id) ) ENGINE=InnoDB" ); # execute all create table statements for my $sql(@ddl){ $dbh->do($sql); } say "Все таблицы созданы успешно!"; # отключитесь от базы данных MySQL $dbh->disconnect();
Как это работает.
Вывод сценария выглядит следующим образом:
Создание демонстрационных таблиц в MySQL с помощью Perl Все таблицы созданы успешно!
Теперь вы можете проверить базу данных perlmysqldb, чтобы убедиться, что таблицы были созданы успешно.
В этой статье вы узнали, как создавать новые таблицы из Perl-программы в базе данных MySQL, используя метод do() объекта-дескриптора базы данных.