Supongamos que tenemos una base de datos mysql llamada ‘personas’ a la que podemos acceder con usuario ‘usudb’ y contraseña ‘clave’.
La base de datos contiene una tabla llamada ‘tabla’ con los siguientes campos:
- nombre varchar(32)
- edad integer
- fecha_alta date
Podemos conectarnos a la base de datos, leer y escribir registros con el siguiente código en perl:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $dbname = ‘personas’;
my $dbhost = ‘127.0.0.1’;
my $dbuser = ‘usudb’;
my $dbpwd = ‘clave’;
my $dbh;
my $stmt;
my $sth;
my $row;
## Conectarse a la base de datos
##
$dbh = DBI->connect(«DBI:mysql:$dbname;host=$dbhost», $dbuser, $dbpwd)
or die «Error de conexion: $DBI::errstr»;
## Preparar la sentencia de insercion en la base de datos
$sth = $dbh->prepare(
«insert into tabla ( nombre, edad, fecha) values ( ? , ? , ? )»
);
## Insertar un registro en la tabla
##
$sth->execute( «pedro ramirez», 36, ‘2012-04-14’ );
## Leer los registros de la tabla
##
$sth = $dbh->prepare(«select nombre, edad, fecha from tabla»);
$sth->execute();
while ($row = $sth->fetchrow_hashref) {
print «nombre: « . $row->{nombre} . «\n»;
print «edad: « . $row->{edad} . «\n»;
print «fecha de alta: « . $row->{fecha_alta} . «\n»;
}
## Desconectarse de la base de datos
##
if (! $dbh->disconnect) {
warn «Error al desconectarse de la base de datos: $DBI::errstr»;
}
#####################################################################
|
Como vemos, la librería DBI es la encargada de implementar la conectividad a mysql desde perl.