Los programas que se enlacen con la librería SQLite pueden tener acceso a una base de datos SQL, sin tener que ejecutar un programa de RDBMS separado.
SQLite es Software Libre por lo tanto el código fuente es del dominio públicoy licencia GPL.
Ademas se puede entender como bases de datos empotradas aquellas que no inician un servicio en nuestra máquina independiente de la aplicación, pudiendose enlazar directamente a nuestro código fuente o bien utilizarse en forma de librería (include)".
Sus desarrolladores destacan, que su principal característica, es su completo soporte para tablas e índices en un único archivo por base de datos, soporte transaccional, rapidez (unas 2 veces mas veloz que MySQL y PostgreSQL, http://www.hwaci.com/sw/sqlite/speed.html),
escaso tamaño (unas 25 mil líneas de código C) y
su completa portabilidad.
Su instalación es muy sencilla (Archivos Fuentes: http://www.hwaci.com/sw/sqlite/),
requiere únicamente los pasos habituales de tar, configure, make
y make install. Los desarrolladores recomiendan estos pasos:
$ tar zxvf
sqlite.tar.gz
$ mkdir
bld
$ cd bld
$ ../sqlite/configure
$
make
$ make install
Existen ports de la API para distintos lenguajes, incluso un proyecto
de ODBC para SQLite (http://www.ch-werner.de/sqliteodbc/);
la API para Python la podemos encontrar en http://pysqlite.sourceforge.net/
SQLite, no permite múltipes usuarios accediendo en modo
escritura a la base de datos, debido que el mecanismo de bloqueo que
utiliza es muy "basto": bloquea toda la base de datos. Así esta
librería está especialmente indicada cuando se requiera
de una gran rapidez en las consultas y nos baste que sólo un único usuario pueda realizar modificaciones.
SQLite, cuenta con una utilidad llamada sqlite que nos permitirá ejecutar comandos SQL contra una base de datos SQLite en modo consola.
Desde aquí podemos crear nuestra base de datos, realizar consultas, insertar datos, etc.
Por ejemplo, supongamos que tenemos un archivo llamado tablas.sql con los siguientes comandos:
CREATE TABLE MAQUINAS (
ID INTEGER UNIKE PRIMARY KEY,
NOMBRE VARCHAR(30),
IP VARCHAR(15),
USUARIO VARCHAR(30)
);
INSERT INTO
MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina1','192.168.1.10','Jose');
INSERT INTO
MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina2','192.168.0.1', 'Pedro');
INSERT INTO
MAQUINAS (NOMBRE, IP, USUARIO)
VALUES ('maquina3','192.168.0.100','Carlos');
Si ejecutamos:
$ sqlite base.db
observamos que nos crea un solo archivo(base.db), mescla de binario y
ASCII, el cual contiene la definición de la base de datos, tabla y datos.
Algunas operaciones sobre esta base serian:
$ sqlite base.db "select * from maquinas"
que dara como salida:
1|maquina1|192.168.1.10|Jose
2|maquina2|192.168.0.1|Pedro
3|maquina3|192.168.0.100|Carlos
de similar forma se ejecuta el resto de los comandos como ser: INSERT,
UPDATE, DELETE, etc.
Observese que SQLite retorna todo el resultado de la consulta separados
por el símbolo "|".
COMO USAR
SQLITE EN PHP5
archivo: prueba.php
/* Definimos el nombre de la base de datos
observar que es la misma base del ejemplo de arriba
para ver el ejemplo correr en PHP5 copiar base.db a
/var/www/html
o al directorio que use para publicar su paginas web
si no se asigna permisos de lectura a base.db el navegador
dara error de acceso
*/
$base = 'base.db';
/* Revisamos si la base de datos existe. */
if(!file_exists($base)){
echo "Base de datos no existe";
}
else
{
/* Abrimos la base de datos */
$db = sqlite_open($base,0666,$sqliteerror);
$sql = "select * from maquinas";
/* Obtenemos todo el resultado de la consulta */
$resultado = sqlite_query($db,$sql);
/* Obtenemos cada fila del resultado una por una */
while($filas =
sqlite_fetch_array($resultado,SQLITE_ASSOC))
{
/* Realizamos la salida de
cada columna de la tabla
maquinas
COLUMNAS: ID,NOMBRE,IP,USUARIO */
print_r
($filas[NOMBRE]." ");
print_r ($filas[IP]."
");
print_r ($filas[USUARIO]);
echo "
";
}
}
?>
Mas operaciones de inserción, actualización,
eliminación y otros comandos y funciones se puede hallar en: http://hu.php.net/sqlite , http://www.hwaci.com/sw/sqlite/index.html
Como podemos comprobar SQLite junto con PHP, PYTHON, C u otro lenguaje,
nos da una gran facilidad de manipulación de nuestros datos. En
nuestros ejemplos sólo hemos trabajado sobre una tabla, pero
como toda base de datos SQL, SQLite permite crear varias tablas y
establecer relaciones entre ellas utilizando toda la potencia del
lenguaje SQL, al mismo tiempo, se intenta cumplir al máximo el
estandard, proveer rapidez y simplicidad de la base de datos.
Gilber E. Peña Cuellar
Email:msn: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.