UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA PERL 8: INSERCION O ADICION DE REGISTROS

Insertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso sencillo que usa la siguiente instruccion sql:

INSERT INTO TABLA(CAMPO1,CAMPO2..) VALUES(VALOR1,VALOR2..)

Recordar que solo se esta usando lo minimo de cada instruccion sql, es conveniente estudiar un tutorial de sql.

Prog41.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
use DBI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
# creando una form o ventana
print $q->startform();
print $q->hr();
# clave NO SE OCUPA en mitabla es tipo auto_incrment
print "NOMBRE :";
print $q->textfield('NOMBRE', '', 20);
print $q->br();
print "EDAD : ";
print $q->textfield('EDAD','', 5);
print $q->br();
print "ESTATURA:";
print $q->textfield('ESTATURA','', 8);
print $q->br();
# creando un submit button
print $q->submit('INSERTAR');
# cerrando la forma
print $q->endform();
print $q->hr();
#cerrando html
print $q->end_html;
if ( $q->param('INSERTAR')) {
# capturando datos
$nombre = $q->param('NOMBRE');
$edad = $q->param('EDAD');
$estatura = $q->param('ESTATURA');
# creando enlace o coneccion dbh=>database handle
my $dbh = DBI->connect('DBI:mysql:mibase:localhost','USUARIO','PASSWORD')|| die "ERROR CONECCION : $DBI::errstr";
# preparando y mandando el INSERT DE SQL
$sth = $dbh->prepare("INSERT INTO mitabla(nombre,edad,estatura) VALUES (?,?,?)");
$sth->execute( $nombre, $edad, $estatura );
# avisando
print "REGISTRO INSERTADO";
# cerrando coneccion
$sth->finish;
$dbh->disconnect();
};

Corrida:

image283.jpg

notas:

1.- El programa esta bien documentado:

2.- Lo unico nuevo son los simbolos ?,?,?:

A estos simbolos PERL DBI les llama “placeholders” y se utilizan para indicar a la funcion prepare() que debera sustituir en ese lugar y en ese orden las variables que va a contener la funcion excute(lista de variables).

Esta tecnica nos facilita la construccion del query SQL (insert) porque de otra manera se tendria que construir una string $q y luego estarle agregando o sumando cada una de las variables que contienen el dato o valor y ademas incorporandoles las comas que deben ir despues de cada dato.

TAREAS PROGRAMACION PERL :

1.- construir muchos programas de inserccion en las tablas de las bases de datos que tengan construidas

Politica de Privacidad