Поиск по сайту:

У нас есть мини- и микро-эвм. В какую семантическую нишу попала бы пико-эвм? (Алан.Дж.Перлис)

Создание таблиц в MySQL с помощью Perl

2 мин для чтения
FavoriteLoadingДобавить в избранное
23 ноября 2019
Учебник. MySQL и Perl
Описание: в этой статье мы покажем вам, как использовать API Perl DBI для создания таблиц в базе данных MySQL.

 

Создание таблиц в MySQL с помощью Perl

Прежде чем делать что-либо еще с базами данных, например вставлять, обновлять, удалять и запрашивать данные, вам необходимо создать новые таблицы для хранения данных.

Чтобы создать новую таблицу, вы используете следующие шаги:

  1. Подключитесь к базе данных MySQL.
  2. Выполните инструкцию CREATE TABLE, вызвав метод do() объекта дескриптора базы данных.
  3. Отключиться от базы данных MySQL.

 

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

Мы собираемся создать три таблицы в примере базы данных perlmysqldb:

  • links: хранит URL, включая link_id, title, URL и target.
  • tags: хранит теги для ссылок, включая tag_id и tag.
  • link_tags: хранит связь между таблицами ссылок и тегов, содержащими два поля link_id и tag_id.

Следующая диаграмма иллюстрирует таблицы:

Создание таблиц в MySQL с помощью Perl

 

Ниже приведен скрипт 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();

 

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

  • Сначала создайте соединение с базой данных perlmysqldb, используя метод connect().
  • Затем определите массив @ddl, который содержит три оператора CREATE TABLE.
  • Затем вызовите метод do() объекта дескриптора базы данных, чтобы выполнить каждый оператор CREATE TABLE внутри цикла. Мы часто используем метод do() для выполнения оператора без выбора, который не возвращает набор результатов.
  • После этого отобразите сообщение, указывающее, что все таблицы были созданы успешно.
  • Наконец, отключитесь от базы данных.
Читать  MySQL. Комментарии в глубину

Вывод сценария выглядит следующим образом:

Создание демонстрационных таблиц в MySQL с помощью Perl
Все таблицы созданы успешно!

 

Теперь вы можете проверить базу данных perlmysqldb, чтобы убедиться, что таблицы были созданы успешно.

Создание таблиц в MySQL с помощью Perl

 

В этой статье вы узнали, как создавать новые таблицы из Perl-программы в базе данных MySQL, используя метод do() объекта-дескриптора базы данных.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 votes
Рейтинг статьи
Subscribe
Notify of
guest
0 комментариев
Inline Feedbacks
View all comments

Читайте также

0
Would love your thoughts, please comment.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close