Resumo : neste tutorial, mostraremos como usar a API Perl DBI para criar tabelas em um banco de dados MySQL.
Criando uma tabela etapas
Antes de fazer qualquer outra coisa com os bancos de dados, por exemplo, inserir , atualizar , excluir e consultar dados , você precisa criar novas tabelas para armazenar os dados.
Para criar uma nova tabela, você usa as seguintes etapas:
- Conecte-se ao banco de dados MySQL.
- Execute a instrução CREATE TABLE chamando o
do()
método do objeto identificador do banco de dados. - Desconecte-se do banco de dados MySQL.
Criando um exemplo de tabela
Vamos criar três tabelas no perlmysqldb
banco de dados de exemplo:
- links : armazena URLs incluindo link_id, título, URL e destino.
- tags : armazena tags para links, incluindo tag_id e tag.
- link_tags : armazena o relacionamento entre as tabelas de links e tags, contendo dois campos link_id e tag_id.
O diagrama a seguir ilustra as tabelas:
A seguir está o script Perl que cria as tabelas:
#!/usr/bin/perl
use strict;
use warnings;
use v5.10; # for say() function
use DBI;
say "Perl MySQL Create Table Demo";
# MySQL database configurations
my $dsn = "DBI:mysql:perlmysqldb";
my $username = "root";
my $password = '';
# connect to MySQL database
my %attr = (PrintError=>0, RaiseError=>1);
my $dbh = DBI->connect($dsn,$username,$password, \%attr);
# create table statements
my @ddl = (
# create tags table
"CREATE TABLE tags (
tag_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
tag varchar(255) NOT NULL
) ENGINE=InnoDB;",
# create links table
"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;",
# create link_tags table
"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 "All tables created successfully!";
# disconnect from the MySQL database
$dbh->disconnect();
Linguagem de código: Perl ( perl )
Como funciona.
- Primeiro, crie uma conexão com o
perlmysqldb
banco de dados usando oconnect()
método. - A seguir, defina um array
@ddl
que contenha trêsCREATE TABLE
instruções. - Em seguida, chame
do()
o método do banco de dados que manipula o objeto para executar cadaCREATE TABLE
instrução dentro do loop. Freqüentemente usamos odo()
método para executar uma instrução não selecionada que não retorna um conjunto de resultados. - Depois disso, exiba uma mensagem indicando que todas as tabelas foram criadas com sucesso.
- Finalmente, desconecte-se do banco de dados.
A saída do script é a seguinte:
Perl MySQL Create Table Demo
All tables created successfully!
Agora, você pode verificar o perlmysqldb
banco de dados para verificar se as tabelas foram criadas com sucesso.
Neste tutorial, você aprendeu como criar novas tabelas a partir de um programa Perl em um banco de dados MySQL usando o do()
método do objeto handle do banco de dados.