Поиск по сайту:
Кто себе друзей не ищет, самому себе тот враг (Ш. Руставели).

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

23.11.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();

 

Читать  Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck

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

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

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

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

 

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

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

 

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

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Каждый день «рождаются» новые уязвимости в цифровом мире. Системные администраторы…

Спасибо!

Теперь редакторы в курсе.