Resumo : neste tutorial, você aprenderá passo a passo como se conectar a um banco de dados MySQL usando Perl DBI API.
Vamos começar criando um banco de dados simples em MySQL com o nome perlmysqldb
da demonstração.
A CREATE DATABASE
instrução a seguir cria um novo banco de dados no servidor MySQL:
CREATE DATABASE perlmysqldb;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Conectando ao banco de dados MySQL
Ao se conectar a um banco de dados MySQL, você precisa das seguintes informações:
- Primeiro, você precisa informar ao DBI onde encontrar o servidor de banco de dados MySQL. Isso é chamado de nome da fonte de dados ou DSN. O nome da fonte de dados especifica o driver a ser usado e o banco de dados a ser conectado. Perl requer o nome da fonte de dados para começar
dbi:
e o nome do driver. Para MySQL, o nome do driver émysql
seguido por dois pontos,:
por exemplodbi:mysql:
, e, em seguida, o nome do banco de dados, por exemplo,dbi:mysql:perlmysqldb
. - Segundo, você precisa fornecer o nome de usuário e a senha da conta de usuário MySQL que se conecta ao banco de dados.
- Terceiro, os atributos de conexão opcionais especificam a maneira como o DBI lida com exceções que podem ocorrer ao se conectar ao banco de dados MySQL.
A sintaxe para criar uma conexão com o banco de dados MySQL é a seguinte:
$dbh = DBI->connect($dsn,$username,$password,\%attr);
Linguagem de código: Perl ( perl )
O connect()
método retorna um identificador de banco de dados se a conexão com o banco de dados for estabelecida com êxito.
Por exemplo, para se conectar ao perlmysqldb
banco de dados, você usa o seguinte script:
#!/usr/bin/perl
use strict;
use warnings;
use v5.10; # for say() function
use DBI;
say "Perl MySQL Connect Demo";
# MySQL database configuration
my $dsn = "DBI:mysql:perlmysqldb";
my $username = "root";
my $password = '';
# connect to MySQL database
my %attr = ( PrintError=>0, # turn off error reporting via warn()
RaiseError=>1); # turn on error reporting via die()
my $dbh = DBI->connect($dsn,$username,$password, \%attr);
say "Connected to the MySQL database.";
Linguagem de código: Perl ( perl )
Como funciona.
- Primeiro, use a
use DBI;
instrução no topo do script. - A seguir, defina algumas variáveis que contêm o nome da fonte de dados, nome de usuário e senha.
- Em seguida, defina uma variável hash que contenha os atributos da conexão.
- Depois disso, passe os argumentos correspondentes ao
connect()
método para criar uma conexão com operlmysqdb
banco de dados. - Por fim, mostre uma mensagem para indicar que o programa foi conectado ao banco de dados MySQL com sucesso.
A seguir está a saída do script:
Perl MySQL Connect Demo
Connected to the MySQL database.
Linguagem de código: Sessão Shell ( shell )
Tratamento de erros
Perl DBI permite lidar com erros manualmente e/ou automaticamente. Perl DBI detecta erros quando eles ocorrem e chama a função warn()
or die()
com uma mensagem de erro apropriada.
O PrintError
atributo instrui o DBI a chamar a warn()
função que mostra os erros na saída. O RaiseError
atributo diz ao DBI para chamar a die()
função em caso de erro e abortar o script imediatamente.
Perl DBI habilita PrintError
por padrão. No entanto, recomendamos fortemente que você desative PrintError
e RaiseError
ative o atributo para instruir o DBI a tratar o erro automaticamente.
Se você não ligar RaiseError
, terá que lidar com o erro manualmente da seguinte maneira:
# withou RasieError off:
my $dbh = DBI->connect($dsn,$username,$password) or
die("Error connecting to the database: $DBI::errstr\n");
Linguagem de código: Perl ( perl )
Quando ocorre um erro, o DBI armazena a mensagem de erro na $DBI::errstr
variável. A instrução acima significa que se a conexão com o banco de dados falhar, ela exibirá a mensagem de erro e abortará o script imediatamente.
Outro benefício de ativar o RaiseError
atributo é que o código parecerá mais legível porque você não precisa incluir a or die()
instrução em todos os lugares em que chamar um método DBI.
Desconectando do banco de dados MySQL
Se você não estiver mais interagindo com o banco de dados MySQL, desconecte-se explicitamente dele. É uma boa prática.
Para fechar uma conexão com o banco de dados, você usa o disconect()
método do objeto identificador do banco de dados da seguinte maneira:
# disconnect from the MySQL database
$dbh->disconnect();
Linguagem de código: Perl ( perl )
Neste tutorial, você aprendeu como conectar-se e desconectar-se de um banco de dados MySQL usando a API Perl DBI.