Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

SQLite en PHP, bases de datos incorporadas. Historia y ejemplo.

Cuando D. Richard Hipp trabajaba desarrollando software para la fuerza naval de los Estados Unidos, comenzó a desarrollar SQLite …

«El proyecto SQLite surgió de una necesidad personal, para mi propio uso.»

SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kiB)  biblioteca escrita en C.

SQLite es un proyecto de dominio público.

Veamos algo de su Historia y algún ejemplo …

En enero de 2000 D. Richard Hipp estaba trabajando con su equipo de la General Dynamics en la Fuerza naval de los Estados Unidos, en un proyecto de software, el cual se conectaba a una base de datos Informix, el motor funcionaba muy bien, pero habían tenido problemas para hacer una reconfiguración cuando el sistema se reiniciaba. Luego cambiaron a PostgreSQL, pero administrar la base de datos era un poco más complejo. Fue en ese momento cuando surgió la idea de escribir un simple motor de base de datos SQL que permitiera leer los archivos del disco duro, y luego ser llamados en diferentes solicitudes.

Cinco meses más tarde comenzó a escribir las primeras versiones de lo que hoy conocemos como SQLite, con el pensamiento de que sería útil en algún problema similar.

Razones de su uso como herramienta de desarrollo:

  • Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es necesaria para acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos incorporadas.
  • Portabilidad: se ejecuta en muchas plataformas y sus bases de datos pueden ser fácilmente portadas sin ninguna configuración o administración.
  • Estabilidad: SQLite es compatible con ACID, reunión de los cuatro criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad.
  • SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar, incluyendo sub-consultas, generación de usuarios, vistas y triggers.
  • Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, etc.
  • Costo: SQLite es de dominio público, y por tanto, es libre de utilizar para cualquier propósito sin costo y se puede redistribuir libremente

En la versión 4 de PHP, SQLite se podía utilizar como base de datos instalando un módulo PECL.

A partir de la versión 5 de PHP, SQLite está incluido en PHP, por lo que está disponible sin necesidad de realizar ninguna instalación adicional.

Los nombres de las funciones de php que permiten utilizar SQLite en PHP empiezan por sqlite_ y son similares a los que permiten acceder otras bases de datos utilizables desde PHP (mysql, postgresql, etc).

El manual de PHP incluye un capítulo dedicado a SQLite.

Ejemplo de versión:

<?php
print "<p>Versión PHP: ".phpversion()."</p>";
print "<p>Versión SQLite: ".sqlite_libversion()."</p>";
print "<p>Codificación: ".sqlite_libencoding()."</p>";
?>

En el ejemplo siguiente, la variable $caminodb almacena la ruta donde se encuentra la base de datos y la variable $db el manejador de la base de datos.

<?php
$caminodb = $_SERVER['DOCUMENT_ROOT']."db\\prueba01.db";
$db = sqlite_open($caminodb) or die("No puedo abrir la base de datos ");
?>

Crear una tabla:

<?php
sqlite_query($db, "CREATE TABLE personas(id INTEGER PRIMARY KEY, nombre, apellidos)");
?>

Borrar una tabla:

<?php
sqlite_query($db, "DROP TABLE personas");
?>

Añadir registros:

<?php
sqlite_query($db, "INSERT INTO personas values (NULL , 'Oscar' , 'de la cuesta')" );
?>

Insertar texto

<?php
$apellido = ($_REQUEST['apellido'] == "") ? "" : sqlite_escape_string($_REQUEST['apellido']);
sqlite_query($db, "INSERT INTO personas values (NULL, 'de la Cuesta' , '$apellido')" );
?>

Modificar registros:

<?php
sqlite_query($db, "UPDATE personas SET nombre = 'Oscar', apellidos = 'de la cuesta' WHERE id = '4'");
?>

Borrar un registro

<?php
sqlite_query($db, "DELETE FROM personas WHERE id = '1'");
?>

Consultar una tabla:

<?php
$resultado = sqlite_array_query($db, "SELECT * FROM personas ORDER BY apellidos DESC", SQLITE_ASSOC);
?>

Más información: http://es.wikipedia.org/wiki/SQLite

Etiquetas:, , ,

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Home Bases de datos SQLite en PHP, bases de datos incorporadas. Historia y ejemplo.
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies