Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
730 visualizaciones desde el 17 de Julio del 2017
382,3 KB
10 paginas
Creado hace 20a (10/01/2005)
LinuxFocus article number 331
http://linuxfocus.org
Introducción a la biblioteca TclMySQL
Abstract:
En este artÃ-culo se muestra la instalación y uso de MySQLTcl, una
biblioteca del lenguaje de programación Tcl que permite hacer consultas
SQL − en inglés, queries − (select, insert, delete...) desde scripts Tcl a
servidores de bases de datos MySQL.
Tcl son las siglas de Tool Command Language, un lenguaje de
programación de tipo scripting creado por John Ousterhout [1]. En
realidad, Tcl consiste en dos cosas: además de ser un lenguaje de
programación de tipo scripting, es también un intérprete de scripts
Tcl. Tcl es un lenguaje de programación estructurado que utiliza tres
estructuras con tres estructuras de datos básicas: cadenas (strings), listas y
arrays. Otras caracterÃ-sticas de Tcl son el uso de expresiones regulares [2],
la posibilidad de poder utilizar bibliotecas Tcl escritas por terceras personas
y Tk, un toolkit que permite la creación de aplicaciones Tcl gráficas.
MySQL es un servidor de bases de datos muy popular en el mundo del
software libre que, en mi opinión, no necesita presentación.
MySQLTcl es una biblioteca Tcl que permite hacer consultas a un servidor
de bases de datos MySQL desde scripts Tcl. Actualmente, Paolo Brutti,
Tobias Ritzau and Artur Trzewick son los autores y quienes mantienen esta
biblioteca Tcl.
_________________ _________________ _________________
1/10
by Diego Alberto Arias Prado
<dariapra(at)yahoo.es>
About the author:
Soy un ingeniero de
Telecomunicación de Lugo,
España. No recuerdo
exactamente cuándo
empecé a utilizar Linux,
fue en 1995 ó 1996. Antes
era un usuario de Microsoft
Windows y ni siquiera
sabÃ-a de la existencia de
Linux. La primera vez que vi
un ordenador con sistema
operativo Linux instalado fue
en la universidad. Me
pareció muy interesante y
no tardé en instalarlo en mi
ordenador en casa; recuerdo
que mi primera distribución
Linux fue Slackware.
Durante todos estos años
me he divertido mucho
utilizando otras
distribuciones Linux y
algunas versiones de BSD,
programando en lenguajes
como Java o Tcl, utilizando
servidores de web, de bases
de datos, de aplicaciones...
Linux no ha sido sólo para
mÃ- una forma de divertirme
ya que he tenido la
opotunidad de utilizar Linux
cuando trabajé en
Telefónica I+D.
Instalación de la biblioteca MySQLTcl
Si su distribución Linux o sistema operativo BSD utiliza un sistema de paquetes (como por ejemplo RPM o
DEB) o un sistema de ports (como por ejemplo Crux Linux o FreeBSD), puede usar el sistema de paquetes o
ports para instalar la biblioteca MySQLTcl y pasar asÃ- a la siguiente sección.
Si no es asÃ- o, simplemente, prefiere hacer la instalación de forma manual, en las siguientes lÃ-neas se
muestran los pasos que hemos seguido. En vez de un pequeño manual que muestra paso a paso cómo hacer
la instalación, estas lÃ-neas deben leerse como una especie de pequeña guÃ-a. En una distribución Linux
Mandrake (version 9.2), desde bash:
$ ./configure −−with−mysql−lib=/usr/lib
$ make
$ make install
Si algo ha ido mal durante el paso "configure", los mensajes de error le darán información que le ayudará
a resolver el problema. Es frecuente que éste consista en que el script no consigue encontrar algunos
ficheros o directorios. En casos como éste, la solución consiste en "jugar" con este script pasándole
parámetros que le indiquen dónde puede encontrar esos ficheros y directorios "perdidos". Veamos otro
ejemplo de instalación. En FreeBSD 5.0 la biblioteca MySQLTcl se puede instalar con las siguientes
opciones:
$ export CPP=/usr/bin/cpp
$ ./configure −−with−tcl=/usr/lib/local/tcl8.3
−−with−tclinclude=/usr/local/include/tcl8.3
−−with−mysql−include=/usr/local/include/mysql
−−with−mysql−lib=/usr/local/lib/mysql
$ make
$ make install
Como habrá notado, en este segundo ejemplo la versión de Tcl era 8.3; además, la versión de la
biblioteca MySQLTcl era 2.15 y la versión del servidor de bases de datos MySQL era 3.23.54.
Rudimentos de Tcl
En esta sección se muestran de forma somera los rudimentos de Tcl a lectores que no sepan utilizar este
lenguaje de programación. Si usted ya sabe programar en Tcl, puede pasar a la siguiente sección.
Los ejemplos mostrados en esta sección (y también en las demás) pueden ser reproducidos desde una
consola Tcl (tclsh).
Variables. Substitución de variables y comandos.
En Tcl las variables se crean con el comando set. Veamos algunos ejemplos:
% set address {Edison Avenue, 83}
2/10
Edison Avenue, 83
% set zip_code 48631
48631
En estos dos ejemplos hemos creado dos variables, llamadas address y zip_code. Los valores que estas
variables contienen son, respectivamente, Edison Avenue y 48361; ambos valores son cadenas (strings).
Nótese que para la creación de la variable address se han utilizado llaves (caracteres { y }); esto es asÃ-
porque dicha cadena contiene espacios. Los valores de las variables se pueden obtener utilizando también el
comando set:
% set address
Edison Avenue, 83
% set zip_code
48631
Supongamos que queremos imprimir en pantalla el valor de la variable address. Esto se puede hacer
utilizando el comando puts:
% puts stdout [set address]
Edison Avenue, 83
El comando puts recibe el parámetro stdout. Este parámetro indica al comando puts que debe imprimir en
la salida standard (en inglés, standard output), que en nuestro caso es el monitor. El segundo parámetro
que recibe el comando puts es [set address]. Los corchetes (caracteres [ y ]) de este parámetro indican al
intérprete Tcl que lo que hay dentro es otro comando Tcl que debe ser ejecutado por el intérprete Tcl
antes de que lo sea el comando puts; esto recibe el nombre de substitución de comandos. Lo hecho en el
anterior ejemplo se puede hacer también de otra forma:
% puts stdout $address
Edison Avenue, 83
Lo que se ha hecho en este ejemplo se llama substitución de variable: el caracter $ que precede a un nombre
de variable hace que dicha substitución ocurra.
En un ejemplo anterior hemos podido ver como utilizando llaves, distintas palabras separadas por espacios
podÃ-an ser agrupadas para formar una cadena. Existe otra forma de agrupación, que consiste en utilizar
comillas (el caracter ") en vez de llaves. Sin embargo, estas dos formas de agrupación no funcionan igual.
Veámoslo con un ejemplo:
% puts stdout "the zip code is [set address]"
the zip code is 48631
% puts stdout "the zip code is $address"
the zip code is 48631
% puts stdout {the zip code is [set address]}
the zip code is [set address]
% puts stdout {the zip code is $address}
the zip code is $address
En este ejemplo se puede ver como al utilizar llaves para formar una agrupación no se hace substitución de
comandos; sin embargo, esto sÃ- ocurre si se utilizan comillas para formar dicha agrupación.
Para borrar variables se utiliza el comando unset:
% unset address
% set address
can't read "address": no such variable
% unset zip_code
3/10
% set zip_code
can't read "zip_code": no such variable
Cadenas en Tcl
La cadena (string) es una de las tres estructuras de datos básicas en Tcl. Una cadena es un conjunto de
caracteres. Para crear una cadena se puede utilizar el comando set.
% set surname Westmoreland
Westmoreland
% set number 46.625
46.625
Tanto la variable surname como la variable number son cadenas. Para manipular cadenas se utiliza el
comando string. Veamos algunos ejemplos que muestran cómo se puede utilizar este comando:
% string length $surname
12
% set surname [string range $surname 0 3]
West
% puts stdout $surname
West
% string tolower $surname
west
A diferencia de Pascal o Java, Tcl no es lenguaje de programación de "tipos fuertes". El siguiente ejemplo es
una muestra de ello:
% set number [expr $number + 24.5]
70.125
% string range $number 2 5
.125
Con el comando expr, el valor de la variable number fue incrementado en 24,5. A continuación, con el
comando string, la variable number fue tratadada como si fuese una cadena, siendo mostrados sus cuatro
últimos caracteres.
El comando string permite hacer más manipulaciones con cadenas que las mostradas en los anteriores
ejemplos.
Listas en Tcl
En Tcl, las listas (lists) son un caso especial de cadenas en las que los elementos de la lista están separados
por espacios en blanco y que, además, tienen una interpretación distinta.
% set friends_list {Fany John Lisa Jack Michael}
Fany John Lisa Jack Michael
% set friends_list [string tolower $friends_list]
fany john lisa jack michael
% set friends_list
fany john lisa jack michael
En Tcl hay varios comandos que permiten manipular las listas. Veamos algunos ejemplos:
% lindex 2 $friends_list
4/10
lisa
% lrange $friends_list 2 4
lisa jack michael
% set friends_list [lsort −ascii $friends_list]
fany jack john lisa michael
% set friends_list
fany jack john lisa michael
% set friends_list [linsert $friends_list 2 Peter]
fany jack Peter john lisa michael
% string toupper $friends_list
FANY JACK PETER JOHN LISA MICHAEL
El último ejemplo muestra que cadenas (strings) y listas (lists) en el fondo son la misma estructura de datos.
Arrays en Tcl
Un array Tcl se puede ver como una lista cuyos Ã-ndices son, a su vez, cadenas. Un array se puede crear
como se muestra en el siguiente ejemplo:
% set phone_numbers(fany) 629
629
% set phone_numbers(michael) 513
513
% set phone_numbers(john) 286
286
Los valores del array se pueden mostrar utilizando conjuntamente el comando set y substitución de
variables; como se mostró en el anterior ejemplo, el Ã-ndice del array − que es una cadena − está entre
paréntesis:
% set $phone_numers(michael)
513
El comando array muestra información sobre una variable de tipo array. Veamos algunos ejemplos que
muestran qué se puede hacer con este comando:
% array size phone_numbers
3
% array names phone_numbers
fany john michael
Conexiones a bases de datos
Antes de hacer cualquier consulta a una base de datos desd
Comentarios de: Introducción a la biblioteca TclMySQL (0)
No hay comentarios