Micro tutorial de SQLite

¿Qué es SQLite?

SQLite es un sistema de bases de datos relacionales, es una implementación «light» de un lenguaje utilizado a nivel mundial para programar y mantener bases de datos, llamado SQL (Structured Query Languaje). SQLite viene incluido en Android de manera que las apps pueden tener bases de datos privadas. SQL puede ser usado para crear, buscar y mantener bases de datos.

Este es un pequeñísimo tutorial que te ayudará en los cursos de Android completo con Java y Android completo con Kotlin, para estos no es necesario que conozcas SQL al 100%, pero si quieres un tutorial más completo te dejo este otro.

Tutorial de SQLite (Inglés)

Si quieres probarlo, sigue las siguientes instrucciones

Obtén SQLite

  1. Descarga SQLite de http://sqlite.org/download.html
  2. Abre la terminal y ve a la carpeta donde quieras guardar tu base de datos. Crea una nueva base de datos llamada emonitor.db e inicia SQLite shell escribiendo lo siguiente (SQLite shell reconocerá los comandos de SQLite):sqlite3 emonitor.db
  3. Si quieres enlistar todos los comandos escribe:
  4. .help
  5. Para enlistar todas las bases de datos:.databasesEn una app puedes tener múltiples bases de datos o, como te mencioné, una base de datos con múltiples tablas

Crea una Tabla para la base de datos (CREATE TABLE)

  1. Usa el comando CREATE TABLE para crear una tabla nueva llamada «earthquakes». Cada fila va a representar un terremoto y cada columna un parámetro de ese terremoto, vas a tener 6 columnas: ID, magnitude, place, longitude, latitude y timestamp.
  2. En el comando CREATE TABLE, cada columna es separada por comas, donde debes escribir el nombre de la columna y el tipo de dato que contendrá. También debes especificar que la columna debe ser no nula (NOT NULL). Debes especificar la columna _id como primary key y como valor de tipo entero (INTEGER PRIMARY KEY)

    CREATE TABLE earthquakes( _id INTEGER PRIMARY KEY, magnitude REAL NOT NULL, place TEXH NOT NULL, longitude TEXT NOT NULL, latitude TEXT NOT NULL, timestamp TEXT NOT NULL);Puedes ver los tipos de datos aquíNota: Las palabras de SQLite pueden ser minúsculas y también funciona, pero son mayúsculas para que sean más fáciles de leer, además de que es lo usual
  3. Lista todas las tablas con el siguiente comando y revisa que la tabla earthquakes fue creada.tables
  4. Usa el comando SELECT para retornar todas las filas en la tabla earthquakes. el símbolo * significa «todas las columnas». En este punto no se retornará nada porque la tabla está vacía. SELECT * FROM earthquakes;

Inserta Filas (INSERT)

  1. Usa el comando INSERT para insertar una fila nueva en la tabla. El siguiente comando INSERT inserta una fila en la tabla earthquakes para un terremoto con una magnitud de 4.5, a 25km SW de Lisboa, con una longitud de -105.56 y latitud de 94.21 (Estoy inventando los datos ;-)) y un timestamp del 17 de enero de 2017 a las 5:36 p.m, el _id de la fila es 1. INSERT INTO earthquakes VALUES(1,4.5,'25km SW of Lisboa','-105.56','94.21','1484631364');
  2. Consulta todas las filas de la tabla y verás la fila que acabas de insertar (En bases de datos a una consulta se le conoce comúnmente como Query por su traducción en inglés).SELECT * FROM earthquakes;
  3. Habilita los nombres de las columnas y haz el Query de nuevo..header on SELECT * FROM weather;
  4. Experimenta insertando otras 3 filas en la tabla.INSERT INTO earthquakes VALUES(2,2.1,'100km S of Hawaii','27.3','70.21','20140626');
     INSERT INTO earthquakes VALUES(3,5.5,'200km N of Tokio','105.98','54.58','20140627');
     INSERT INTO earthquakes VALUES(4,3.0,'150km E of New Zeland','-102.42','81.15','20140628');Haz un query a todas las filas para verificar que se insertaronSELECT * FROM weather;

Consulta filas (QUERY)

  1. Practica haciendo consultas (queries) donde proveas una selección con el comando WHERE para seleccionar el número de filas que serán retornadas en el resultado. No olvides el punto y coma al final de la sentencia.Este query retorna filas de la tabla earthquakes donde la columna timestamp es exactamente igual a 20140626.
    SELECT * FROM earthquakes WHERE timestamp == 20140626;
  2. Este query retorna filas de la tabla donde la columna timestamp está entre los valores 20140625 y 20140628. Sin embargo, no todas las columnas son regresadas, solo regresaremos las 4 columnas especificadas (_id, timestamp, magnitude, y place) de las filas que pasan el filtro.SELECT _id,timestamp,magnitude,place FROM earthquakes WHERE date > 20140625 AND date < 20140628;
  3. Este query retorna filas donde la magnitud mínima es mayor o igual a 3. De las filas que pasan el filtro, las ordenamos en orden incremental (ascending or “ASC”) max temperature. The first row of the result that is printed out to the command line will be the row (with min temperature >= 18) with max temperature that is lowest out of all rows, so that subsequent rows will have higher max temperature.SELECT * FROM earthquakes WHERE magnitude >= 3;

Actualizar Filas (UPDATE)

  1. También puedes actualizar filas existentes con el comando UPDATE. El siguiente comando actualiza la tabla estableciendo la latitud a 100 y la longitud a 150 cuando la fecha sea mayor a 20140626 pero menor a 20140627.UPDATE earthquakes SET latitude = 100, longitude = 150 where date >= 20140626 AND date <= 20140627;Imprime de nuevo la tabla para que veas que los valores se actualizaron!SELECT * FROM earthquakes;

Borrar Filas (DELETE)

Usa el comando DELETE para borrar filas de una tabla, de acuerdo al criterio de selección. En este caso, borraremos cualquier fila donde la magnitud sea menor a 2 

DELETE FROM earthquakes WHERE magnitude < 2;

Borrar Columnas (ALTER TABLE)

Si ya lanzaste una versión de tu aplicación para los usuarios, y decides que necesitas cambiar el esquema de la base de datos como añadir columnas, entonces necesitarás actualizar tu base de datos con el comando ALTER TABLE.

Nota: En general, no deberías alterar una tabla para borrar columnas porque estarás borrando datos y otras tablas podrían depender de esa columna. En vez de eso, establece todos los valores de esa columna a null.

Borrar Tabla (DROP TABLE)

Para borrar una tabla, utiliza el comando DROP TABLE. Verifica que ya no hay más tablas en la base de datos.

DROP TABLE earthquakes; .tables

Publicado por Jesus Almaral

Soy ingeniero en Mecatrónica con maestría en Machine Learning, tengo experiencia en lenguajes como Java, Kotlin, Matlab, Android, Python, etc. Actualmente soy desarrollador de aplicaciones móviles, me gusta la música y toco la guitarra, me gusta mucho saber cosas sobre el universo, leer y comer tacos. También me apasiona enseñar.

Deja un comentario

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