¿Qué es SQLite?

    Una de las novedades que trae consigo PHP5, es la inclusion por defecto de su propia base de datos SQLite, pero que es esto?, SQLite es una librería escrita en C que implementa un motor de base de datos para SQL92 empotrable. Por lo tanto SQLite es una librería escrita en lenguaje C que implementa un manejador de base de datos SQL embebido.

    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.


    © 2024 SomosLIbres.org. All Rights Reserved. Contacto: admin @ somoslibres.org
    Esta obra está bajo una licencia de Creative Commons Attribution-Share Alike 4.0 International License.
    | Buscar en el Sitio |Política de Privacidad|

    Please publish modules in offcanvas position.