Вы находитесь на странице: 1из 5

SQLite 2.8.

14

SQLlite es una pequea librera programada en lenguaje C que implementa un completo
motor de base de datos multiplataforma que no precisa configuracin. Se distribuye bajo
licencia de dominio pblico. Es muy rpido y la ventaja fundamental es que permite utilizar un
amplio subconjunto del lenguaje estndar SQL. SQLite destaca tambin por su versatilidad. El
motor de PHP 5 incluye soporte interno para SQLite.

Combina el motor y el interfaz de la base de datos en una nica biblioteca, y almacena los
datos en un nico archivo de texto plano. Esto hace que cada usuario pueda crear tantas bases
de datos como desee sin la necesidad de la intervencin de un administrador de bases de
datos que gestione los espacios de trabajo, usuarios y permisos de acceso. El hecho de
almacenar toda la base de datos en un nico archivo, facilita la portabilidad de los datos, y
solamente tiene la restriccin del espacio de disco asignado al usuario en el servidor.

Su potencia se basa fundamentalmente en la simplicidad, lo que hace que no sea una
buena solucin en entornos de trfico muy elevado y/o alto acceso concurrente a datos. SQLite
encapsula toda la base de datos en un nico fichero.

En su versin 3, SQLite soporta bases de datos de hasta 2 Terabytes de tamao, y tambin
permite la inclusin de campos tipo Blob.

Recomendaciones

Para el correcto aprovechamiento de esta utilidad es necesario por parte del usuario tener
los siguientes conocimientos:

Creacin de paginas web ( HTML, etc ).
PHP.
Conocimientos de bases de datos ( SQL ).

Formas de uso

Podemos utilizar SQLite de dos formas:

Como gestor de base de datos local en un PC. De esta forma podemos gestionar bases
de datos con SQLite igual que si estuviramos trabajando con un sistema gestor de base de
datos como MySQL sin necesidad de instalar nada, ya que SQLite se compone de un nico
archivo ejecutable.

Como una extensin ms de PHP, utilizando las funcionalidades de SQLite
configuradas, o bien como mdulo de PHP, o como librera; sin necesidad de tener instalado o
conectar con un servidor de base de datos. Ofrece un rpido interfaz de base de datos
almacenado en archivo de texto plano.

SQLite como extensin de PHP

Una de las opciones de utilizacin de SQLite es como extensin de base de datos para
PHP.

Esta opcin, ofrece un rpido interfaz de base de datos, al igual que ofrecen otras bases de
datos como MySQL, pero con la ventaja de no tener la necesidad de tener instalado o conectar
con un servidor de base de datos. SQLite tiene prcticamente las mismas funcionalidades y
rapidez que el resto de gestores de base de datos, y los datos se almacenan en un archivo de
texto plano.

SQLite dispone de un completo interfaz orientado a objetos, con distintas funciones que nos
facilitan la manipulacin de datos. Funciones muy similares a las que podemos manejar con
MySQL.

Funciones PHP - SQLite

A continuacin mostramos una tabla con un breve resumen de las principales funciones.
Para informacin mas detallada sobre ellas pulse en el siguiente enlace (enlace con el pdf
donde se explican las funciones)
sqlite_array_query
Ejecuta una consulta contra una base de datos y devuelve el
resultado en forma de matriz
sqlite_busy_timeout
Establece la duracin del temporizador de ocupado o deshabilita
los temporizadores
sqlite_changes
Devuelve el nmero de filas que se han modificado en la ltima
sentencia SQL
sqlite_close Cierra una base de datos SQLite abierta
sqlite_column Obtiene una columna de la fila actual del resultado
sqlite_create_aggregate
Registra una FDU (funcin definida por el usuario) de grupo
normal para su uso en sentencias SQL
sqlite_create_function
Registra una FDU (funcin definida por el usuario) normal para
su uso en sentencias SQL
sqlite_current Obtiene la fila actual del resultado en forma de matriz
sqlite_error_string
Devuelve la descripcin del error producido a partir de un cdigo
de error
sqlite_escape_string
Escapa una cadena de texto para poder usarla como parmetro
en una consulta
sqlite_exec Ejecuta una consulta que no produce resultado
sqlite_factory
Abre una base de datos SQLite y devuelve un objeto
SQLiteDatabase
sqlite_fetch_all
Obtiene todas las filas del resultado en forma de matriz de
matrices
sqlite_fetch_array Obtiene la siguiente fila del resultado en forma de matriz
sqlite_fetch_column_types

Obtiene una matriz con los tipos de las columnas de una tabla
sqlite_fetch_object Obtiene la siguiente fila del resultado en forma de objeto
sqlite_fetch_single Obtiene la primera columna del resultado en forma de cadena
sqlite_fetch_string Alias de sqlite_fetch_single()
sqlite_field_name Obtiene el nombre de un campo
sqlite_has_more Indica si existen ms filas disponibles
sqlite_has_prev Indica si est disponible una fila anterior
sqlite_key Devuelve el ndice de la fila actual
sqlite_last_error
Devuelve el cdigo de error del ltimo error producido en la base
de datos
sqlite_last_insert_rowid Devuelve el identificador de fila de la ltima fila insertada
sqlite_libencoding
Devuelve la codificacin de la librera SQLite que se est
empleando
sqlite_libversion Devuelve la versin de la librera SQLite que se est empleando
sqlite_next Se desplaza hasta el siguiente nmero de fila
sqlite_num_fields Obtiene el nmero de campos de un resultado
sqlite_num_rows
Obtiene el nmero de filas de un resultado almacenado
(buffered)
sqlite_open Abre una base de datos de SQLite y la crea si no exista
sqlite_popen Abre una base de datos de SQLite de forma persistente y la
crea si no exista
sqlite_prev Se desplaza hasta el anterior nmero de fila
sqlite_query
Ejecuta una consulta sobre la base de datos y devuelve un
manejador del resultado
sqlite_rewind Se desplaza hasta el primer nmero de fila
sqlite_seek
Se desplaza hasta un determinado nmero de fila de un
resultado almacenado (buffered)
sqlite_single_query
Ejecuta una consulta y devuelve o una matriz para una columna
o el valor de la primera fila
sqlite_udf_decode_binary
Decodifica los datos binarios que se pasan como parmetro a las
funciones FDU (funcin definida por el usuario)
sqlite_udf_encode_binary
Codifica los datos binarios antes de devolverlos de una FDU
(funcin definida por el usuario)
sqlite_unbuffered_query
Ejecuta una consulta sobre la base de datos cuyo resultado no
almacena todos los datos devueltos
sqlite_valid Indica si hay ms filas disponibles en el resultado

Gestion de las bases de datos SQLite

Existen varias formas para gestionar las bases de datos creadas por SQLite:

Aplicaciones web como SQLite Manager. Tambien existen otras aplicaciones web de
cdigo libre en la red. (http://www.sqlitemanager.org/ )

Desde la consola de usuario. ( http://www.sqlite.org )

Ejemplos de uso

Creacin/apertura de la base de datos

Tanto para crear como para abrir una base de datos tenemos que utilizar la siguiente
funcion:
$db=sqlite_open("nombre_basedatos");

Le pasamos como parmetro el nombre de la base de datos. Si la dase de datos existe,
entonces la abrir, y si no existe la crear y la abrir. Podemos tener tantas bases de datos
como queramos. La nica restriccin es el espacioweb de que dispongamos en nuestro
servidor.


Cerrar la base de datos

Para cerrar la base de datos no tenemos mas que utilizar la siguiente funcin, pasndole
como parmetro la variable de identificacin de la conexin a la base de datos:

sqlite_close($db);


Lanzar una sentencia SQL

Para ejecutar cualquier sentencia SQL se utiliza la funcin sqlite_query:

sqlite_query($db , "CREATE TABLE tabla_prueba (id INTEGER PRIMARY KEY,
nombre CHAR(255))");

sqlite_query($db, "INSERT INTO tabla_prueba(nombre) VALUES ('Antonio')");

Con estas sentencias creamos una tabla llamada tabla_prueba, y con la segunda le
introducimos un dato de prueba.


Recogida de los resultados de una consulta SQL

Las consultas SQL se realizan tambin utilizando la funcin sqlite_query:

$result = sqlite_query($db, "SELECT * FROM tabla_prueba");

El resultado se recoje en una variable de tipo array, la cual podremos manipular a nuestro
antojo.


Impresin por pantalla de los valores de un array

Para este ejemplo aprovecharemos la variable de tipo array anterior, donde hemos
guardado los resultados de la consulta SQL.

while ($row = sqlite_fetch_array($result)) {
echo "ID --> ".$row["id"]." Nombre --> ". $row["nombre"]."<br>";
}

A continuacin vamos a mostrar un ejemplo completo de utilizacin de la base de datos:
<?
// creamos una conexin la base de datos(le introducimos el nombre del archive donde se
almacena)
$db = sqlite_open("nombre.bd");

// Utilizar la siguiente lnea slo si se necesita crear la tabla
sqlite_query($db , "CREATE TABLE tabla_prueba (id INTEGER PRIMARY KEY, nombre
CHAR(255))");

// insercin de registros
sqlite_query($db, "INSERT INTO tabla_prueba(nombre) VALUES ('Antonio')");
sqlite_query($db, "INSERT INTO tabla_prueba(nombre) VALUES ('Pedro')");
sqlite_query($db, "INSERT INTO tabla_prueba(nombre) VALUES ('Sara')");

// ejecucin de consulta de seleccin
$result = sqlite_query($db, "SELECT * FROM tabla_prueba ");
// muestra de los resultados con un bucle
while ($row = sqlite_fetch_array($result)) {
echo "ID --> ".$row["id"]." Nombre --> ". $row["nombre"]."<br>";
}
// se sierra la conexin a la base de datos
sqlite_close($db);
?>
Resultado del ejemplo anterior

ID --> 16 Nombre --> Antonio
ID --> 17 Nombre --> Pedro
ID --> 18 Nombre --> Sara


Enlaces tiles

http://es.wikipedia.org/wiki/SQLite

http://www.sqlite.org/ Sitio Oficial de SQLite (en ingls)

http://www.zend.com/php5/articles/php5-sqlite.php
Introduccin acerca de la extensin de SQLite para PHP5.

http://necudeco.blogsome.com/2005/08/31/sqlite-con-csharp/
Ejemplos de codigo con SQLite

http://www.sqlitemanager.org/ Web oficial de la aplicacin SQLiteManager

Похожие интересы