lunes, 14 de septiembre de 2009

Primeros pasos en SQLite

INTRODUCCION

SQLite es una base de datos que sorprende por lo increíblemente ligera que es (apenas ocupa 250KB), pero no por ello deja de ser potente, rápida y eficiente, basándose en SQL estándar para su gestión.




Las características más importantes de SQLite son las siguientes:
- Transacciones atómicas, aisladas y consistentes.
- No requiere instalación ni administración.
- Implementa la mayor parte del estándar SQL92
- Una base de datos completa se almacena en un único archivo en el disco duro.
- Soporta bases de datos que ocupan terabytes, y cadenas y BLOBs que ocupan gigabytes.
- Ejecución muy rápida y consume muy pocos recursos de la máquina.
- No requiere de dependencias de terceros ni externas.
- Es de dominio público.
- Disponible para Linux, Windows y MacOS X.
- Incluye una consola para la gestión y administración de bases de datos.
- Se puede utilizar en proyectos escritos en:
   - Basic y dialectos (Visual Basic, PowerBasic, PureBasic...)
   - C y C++
   - C# y VB .NET
   - Clipper
   - Lisp
   - Curl
   - D
   - Delphi
   - Macromedia Director
   - Flash Actionscript 2
   - Fortran
   - Java
   - Javascript
   - Matlab
   - .NET
   - Perl
   - PHP
   - PL/SQL
   - Python
   - Ruby
   - Smalltalk
   - Tcl/tk
   - Y otros...

INSTALACION

Para instalar SQLite hemos de acceder a su página principal

http://sqlite.org

Y descargar (Download) la última versión ejecutable (Binaries) de la plataforma (Windows, Linux, MacOS X) en la que vayamos a utilizarla. También aquí se puede descargar la documentación de la misma.

El archivo está comprimido, y simplemente hay que descomprimirlo en la carpeta de nuestro disco de nuestra preferencia.


CONSOLA SQLITE

Una vez descomprimido hemos de abrir una consola de comandos (en caso de Windows, también se llama consola DOS, y se accede mediante "tecla Windows" + "R", y ejecutar "cmd") para utilizar SQLite. Una vez tengamos abierta la consola de comandos, hay que acceder al directorio donde se descomprimió SQLite, y ejecutar el comando:

sqlite3

donde es un path a un archivo donde contendrá una base de datos. Si no existe, creará la base de datos. Si existe, utilizará ésta. Como recomendación, poner una extensión fácil de reconocer, como ".db" o ".sqlite".

La ejecución de este comando nos introducirá en la consola de SQLite, donde podremos ejecutar cualquier comando SQL para gestionar la base de datos. Asimismo, también hay otros comandos específicos de esta consola:

.help ó .h > Muestra una ayuda de los comandos disponibles
.quit ó .q > Termina la sesión de consola SQLite, retornando a la de comandos
.exit ó .e > Termina la sesión de consola SQLite, retornando a la de comandos
.databases > Lista las bases de datos en uso
.tables > Lista las tablas de la base de datos
.tables 'P%' > Lista las tablas que empiecen por 'P' (patrón LIKE)
.backup ARCHIVO > Realiza una copia de seguridad de la base de datos principal a ARCHIVO
.backup 'BBDD' ARCHIVO > Realiza una copia de seguridad de la base de datos 'BBDD' a ARCHIVO
.schema TABLA > Muestra la estructura de la tabla especificada (en formato SQL), incluyendo los índices
.indices TABLA > muestra los índices de la tabla especificada
.output stdout > Establece la salida a pantalla (por defecto)
.output ARCHIVO > Establece la salida al archivo indicado en archivo
.mode MODO > Establece el modo de salida, donde MODO puede ser uno de estos valores:
csv > valores separados por comas
column > columnas alineadas a la izquierda (ver .width)
html > código TABLE en HTML
insert > código INSERT en SQL
line > un valor por línea
list > valores delimitados por .separator (por defecto)
tabs > valores separados por tabuladores
tcl > lista de elementos tcl
.width num > Establece el ancho para las columnas (salida)
.separator string > Establece string como cadena delimitadora (salida)
.dump > Vuelca en la salida la estructura y datos de la base de datos, es decir, muestra las sentencias SQL (creación de tablas, índices, inserción de datos actuales, etc.), de todas las tablas de la base de datos.
.dump TABLA > Vuelca en la salida la estructura y datos de la tabla especificada, es decir, que muestra las sentencias SQL para la TABLA especificada
.restore ARCHIVO > Restaura la copia de seguridad realizada con .backup almacenada en ARCHIVO, en la base de datos en curso
.restore 'BBDD' ARCHIVO > Restaura la copia de seguridad almacenada en ARCHIVO, en la base de datos especificada con 'BBDD'
.read ARCHIVO > Ejecuta las sentencias SQL que están almacenadas en ARCHIVO

EJEMPLOS

.mode csv
select * from paises;

Muestra los datos de la tabla paises separados por comas.

.mode html
select * from paises;

Muestra los datos de la tabla paises en una tabla HTML

.mode insert
select * from paises;

Muestra las sentencias INSERT para cada uno de los registros de la tabla paises.

.output paises.sql
.mode insert
select * from paises;

Vuelca en el archivo paises.sql las sentencias INSERT para los datos de la tabla paises.

.output paises.sql
.dump paises

Vuelca en el archivo paises.sql las sentencias de creación de tabla e índice, así como la inserción de datos, para la tabla paises.

.output stdout
.dump paises

Restaura la salida a la pantalla, y vuelca la tabla paises en dicha salida.


IDE's PARA SQLITE

Afortunadamente, existen IDE o interfaces de usuario, que permitirán gestionar nuestras bases de datos SQLite, sin necesidad de la consola. Algunas de las más populares son:
- SQLite Administrator > http://sqliteadmin.orbmu2k.de/
- SQLite Database Browser > http://sqlitebrowser.sourceforge.net/



Safe Creative #1001195348556