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

Ученый человек — сосуд, мудрец — источник (У. Олджерай).

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

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
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 Security - Генерация случайного пароля

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

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

 

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

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

 

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

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

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

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

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

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

close
galka

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

close