UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA PERL 11: OPERACIONES CON CAMPOS

Este es tambien un caso comun con elementos de una tabla, sin embargo es tambien facil de resolver.

Es necesario recordar primero algunas cosas elementales:

1.- La operacion que se plantee se puede realizar con todos los renglones de la tabla o con un solo renglon de la tabla para procesar todos los renglones se usara un ciclo while(como en el ejemplo), si solo se quiere procesar un solo renglon o una celda o columna no se usar el while.

2.- En el ejemplo se realiza la operacion con todos los renglones de la tabla y no olvidar que se tiene que usar la instruccion sql Update para que la nueva informacion se actualize en disco.

3.- Es por esta razon que se usaran dos enlaces o conecciones($dbh1 y $dbh2 ) y dos prepare() ($sth1 y $sth2) para poder mandar las instrucciones select y update.

Prog44.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();

# creando un submit button

print $q→submit('ARITMETICA');

# cerrando la forma

print $q→endform();

#cerrando html

print $q→end_html;

if ( $q→param('ARITMETICA')) {

# creando DOS enlaces o conecciones dbh⇒database handle

my $dbh1 = DBI→connect('DBI:mysql:mibase:localhost','USUARIO','PASSWORD')|| die “ERROR CONECCION : $DBI::errstr”;

my $dbh2 = DBI→connect('DBI:mysql:mibase:localhost','USUARIO','PASSWORD')|| die “ERROR CONECCION : $DBI::errstr”;

# preparando el query sql OBSERVAR QUE TAMBIEN SE MANEJAN DOS STH

my $sth1 = $dbh1→prepare('SELECT * FROM mitabla');

$sth1→execute;

# ciclo de lectura de todos los renglones de la tabla

while ( my ($clave, $nombre, $edad, $estatura) = $sth1→fetchrow_array() ) {

# aumentando y usando UPDATE SQL pero a la caceccion DOS

$estatura = $estatura + 100.0;

# ESTE PROGRAMA ACTUALIZARLO USTEDES Y SOLO USAR UPDATE MI TABLA SET ESTATURA = ESTATURA +100 PARA EVITAR ENTRAR MIL VECES A LA BASE DE DATOS $sth2 = $dbh2→prepare(” UPDATE mitabla SET estatura = ? WHERE clave = ? ”);

$sth2→execute( $estatura, $clave );

};

# cerrando instrucciones y conecciones

$sth1→finish;

$sth2→finish;

$dbh1→disconnect();

$dbh2→disconnect();

print “edades aumentadas”;

};

</code>

corrida

image286.jpg

TAREAS PROGRAMACION PERL MYSQL :

1.- construir una tabla que traiga matricula, nombre, calif1, calif2, calif3 y promedio, cargar en mysql directamente unos 5 renglones de alumnos, no cargar promedio, el promedio lo deberan calcular con un programa.

Politica de Privacidad