Perl MySQL Criar Tabela

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:

  1. Conecte-se ao banco de dados MySQL.
  2. Execute a instrução CREATE TABLE chamando o  do()método do objeto identificador do banco de dados.
  3. Desconecte-se do banco de dados MySQL.

Criando um exemplo de tabela

Vamos criar três tabelas no perlmysqldbbanco 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:

Perl MySQL Criar Tabela - Tabelas de Amostra

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 perlmysqldbbanco de dados usando o  connect()método.
  • A seguir, defina um array  @ddlque contenha três  CREATE TABLEinstruções.
  • Em seguida, chame  do()o método do banco de dados que manipula o objeto para executar cada  CREATE TABLEinstrução dentro do loop. Freqüentemente usamos o  do()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 perlmysqldbbanco de dados para verificar se as tabelas foram criadas com sucesso.

Exemplo de criação de tabela Perl MySQL

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *