lunes, 13 de enero de 2014

Tutorial SQlite3 Ejemplos

En la entrada pasada de estos tutoriales vimos cuales son los tipos de datos y cuales son los comandos DML y DDL,en esta ocasión vamos a ver como usar el DML y DDL para poder crear una base de datos con una tabla de datos.

Imaginemos que queremos administrar unos usuarios para nuestros pc's en el cual debemos introducir el id del usuario,el nombre el nucleo del sistema operativo y el nombre del sistema operativo.

Para eso vamos a crear una base de datos llamada Usuarios:

sqlite3 Usuarios.db

Como vemos esta vacía si mostramos las tablas:

.tables

Primero que nada vamos a crear una tabla con lo mencionado:

Para eso se usa el comando CREATE TABLE seguido del nombre de la tabla y luego entre paréntesis el contenido con esta sintaxis:

( nombre TIPO,nombre TIPO,etc)

Para lo mencionado arriba así seria:

CREATE TABLE Usuarios (id INTEGER,nombre TEXT,nucleo TEXT,sistema TEXT);

Ahora ya tenemos una tabla.para comenzar a insertar valores usamos el comando INSERT INTO la sintaxis es :

INSERT INTO Tabla VALUES (valor1,valor2);

Por ejemplo que me añadiera yo:

 INSERT INTO Usuarios VALUES (1,'atheyus','linux','ubuntu');

Esa es una inserción muy básica ya que por lo menos hubiéramos usado PRIMARY KEY pero veremos en su momento el uso mas avanzado.

Vamos a añadir mas:


INSERT INTO Usuarios VALUES (2,'usuario2','linux','arch');

INSERT INTO Usuarios VALUES (3,'usuario3','linux','gentoo');

INSERT INTO Usuarios VALUES (4,'usuario4','darwin','MacOSX');

Para ver los valores podemos usar la sentencia SELECT, la sintaxis es:

SELECT dato FROM Tabla;

Por ejemplo si queremos mostrar todos los usuarios:

SELECT nombre FROM Usuarios;


Podemos mostrar toda la información usando un asterisco (*) al estilo Unix:

SELECT * FROM Usuarios;

También podemos mejorar la interfaz,esto no es muy necesario ya que lo que importan son los datos y comandos DML y DDL ya que estos son mas de la shell de sqlite3,pero podemos usar por ejemplo:

.mode column

Junto con:

.headers on



Para que se vea muy legible, también podemos usar la que me gusta mas:

.mode line
O en menor escala podemos definir el separador por defecto(|):

.separator -

Bien eso como dije no es muy importante hablando de datos,pero es muy util para sentirse mas cómodo usando solo la shell de sqlite3.

Ya que tenemos datos en nuestra tabla,vamos a filtrar los resultados usando la clausula WHERE,que es como si fuera un if en Lenguaje de Programación(tambien existe IF en sql),sintaxis:

... WHERE condicion;

La clausula WHERE se puede usar de manera muy avanzada incluso vinculando otras tablas,usando condicionales etc WHERE y las clausulas mas importantes tendran su propio tutorial pero de momento estamos viendo ejemplos sencillos,vamos a ver como mostrar todos los datos de los usuarios que usen el núcleo linux:

 SELECT * FROM Usuarios WHERE nucleo='linux';
De ese modo mostrara todo.

Si quisiéramos mostrar solo los nombres usamos:

 SELECT nombre FROM Usuarios WHERE nucleo='linux';



De igual modo con los demás datos.

Ahora que sabemos como filtrar datos de esta manera podemos borrar parte de ellos usando el comando DELETE,por ejemplo borrar un usuario de la tabla(una columna),para ello vamos a borrar el de nombre usuario2:

DELETE FROM Usuarios WHERE nombre='usuario2'; -- No olvidar usar comillas simples
Si queremos modificar la tabla lo podemos hacer en cualquier momento usando ALTER TABLE,junto con la instrucción:

Ejemplo 1,añadir una columna a la tabla,por ejemplo que queremos añadir la version del sistema:

Nota: Para que no haya problemas con números vamos a usar una cadena de texto.

ALTER TABLE Usuarios ADD COLUMN version TEXT;
Ahora ya tenemos una nueva columna donde guardar los datos de la version,pero en todos los usuarios esta vacia,vamos a añadir datos haciendo un update con el comando UPDATE,sintaxis:

UPDATE Table SET column=valor WHERE condicion;

Por ejemplo voy a añadir que yo uso la version 13.10 y que el usuario de mac usa la version lion:


Añadir version de ubuntu a atheyus por nombre:

 UPDATE Usuarios SET version='13.10' WHERE nombre='atheyus';

 Añadir versión de Mac a usuario4 por id:

UPDATE Usuarios SET version='Lion' WHERE id=4;



El comando UPDATE no se usa solo si no hay contenido en una tabla también se usa para modificar existente,por ejemplo cuando salga Ubuntu 14.04 yo modifico mi versión:

 UPDATE Usuarios SET version='14.04' WHERE nombre='atheyus'

 Ejemplo 2,renombrar tabla.

Si quisieramos renombrar la tabla podemos hacerlo,vamos a ver como se hace.

Nuestra tabla se llama Usuarios,la sintaxis de SQL siempre es en MAYUSCULAS,no es necesario pero es recomendable para no confundir si no quisiéramos cambiar Usuarios por usuarios no seria necesario ya que SQL lo identifica pero si quisiéramos cambiar Usuarios por Users,haríamos esto:

ALTER TABLE Usuarios RENAME TO Users;
Ya casi hemos visto todos los comandos DML Y DDL,solo nos falta como borrar una tabla,para ello borrariamos todo lo visto en este tutorial,ahora nuestra tabla se llama Users,para borrarla solo usamos DROP TABLE antes del nombre de la tabla:

DROP TABLE Users;

Con eso nos quedamos sin tabla para el ejemplo y termina este tutorial :(

Nos falto CREATE INDEX.

Referencia : sqlite.org/

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.