4
DESDE LA LÍNEA DE COMANDOS Paso 1: Descargar SQLITE en la pagina oficial http://www.sqlite.org/download.html . Básicamente hay para todos los sistemas operativos en este caso Windows. Descargamos “Precompiled Binaries For Windows” Paso 2 : Para crear la base de datos ejecutamos símbolo de sistema y desde la consola de comandos no ubicamos en el directorio donde descargamos y descomprimimos el archivo de SQLite. C:\>sqlite3 nombrebasededatos.db Y aparece lo siguiente 1. SQLite version 3.6.17 2. Enter ".help" FOR instructions 3. Enter SQL statements terminated WITH a ";" 4. sqlite> Para verificar que la base de datos existe .tables [nombrebasededatos] Paso 3: Para crear las tablas de la base de datos utilizamos el siguiente comando “CREATE TABLE [nombre de la tabla] ( columna1, columna2, columna n);” CREATE TABLE tb1 ( id_tb1 integer PRIMARY KEY NOT NULL, texto text ); CREATE TABLE tb2 ( id_tb2 integer PRIMARY KEY NOT NULL, texto varchar (50), id_tb1FK integer NOT NULL CONSTRAINT fk_id_tb1FK REFERENCES a(id_tb1) ON UPDATE CASCADE ); CREATE TABLE tb3 ( id_tb3 integer PRIMARY KEY NOT NULL, informacion text,

Consultas sqlite

Embed Size (px)

Citation preview

Page 1: Consultas sqlite

DESDE LA LÍNEA DE COMANDOS

Paso 1: Descargar SQLITE en la pagina oficial http://www.sqlite.org/download.html. Básicamente hay para todos los sistemas operativos en este caso Windows. Descargamos “Precompiled Binaries For Windows”

Paso 2: Para crear la base de datos ejecutamos símbolo de sistema y desde la consola de comandos no ubicamos en el directorio donde descargamos y descomprimimos el archivo de SQLite.

C:\>sqlite3 nombrebasededatos.db

Y aparece lo siguiente

1. SQLite version 3.6.172. Enter ".help" FOR instructions3. Enter SQL statements terminated WITH a ";"4. sqlite>

Para verificar que la base de datos existe .tables [nombrebasededatos]

Paso 3: Para crear las tablas de la base de datos utilizamos el siguiente comando

“CREATE TABLE [nombre de la tabla] ( columna1, columna2, columna n);”

CREATE TABLE tb1(id_tb1 integer PRIMARY KEY NOT NULL,texto text);

CREATE TABLE tb2(id_tb2 integer PRIMARY KEY NOT NULL,texto varchar (50),id_tb1FK integer NOT NULL CONSTRAINT fk_id_tb1FK REFERENCES a(id_tb1) ON UPDATE CASCADE);

CREATE TABLE tb3(id_tb3 integer PRIMARY KEY NOT NULL,informacion text,id_tb2_FK integer NOT NULL CONSTRAINT fk_id_tb2FK REFERENCES a(id_tb2) ON DELETE CASCADE);Para confirmar que las tablas están creadas: .schema [tabla]

Page 2: Consultas sqlite

PASO 4: Sqlite ignora todavía la integridad referencial, para esto se tiene los TRIGGER.

CREATE TRIGGER insert_tb1_a_tb2BEFORE INSERT ON tb2FOR EACH ROWBEGINSELECT RAISE (ROLLBACK, ’No se puede inserta el registro’)WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;END;

Esto se hace en todas las tablas, solo cambiando:

tb2= “a la tabla que vamos a insertar un dato” SELECT Id_tb1= “origen del dato” FROM tb1= la tabla de donde viene “ NEW.id_tb1FK =”referencia tb2 que hace con la tb1”

Si se quiere realizar un update;

CREATE TRIGGER update_tb1_tb2BEFORE UPDATE ON tb2FOR EACH ROWBEGINSELECT RAISE (ROLLBACK, ’No se puede insertar el registro’)WHERE (SELECT id_tb1 FROM tb1 WHERE id_tb1= NEW.id_tb1FK) IS NULL;END;

Esto hace que cuando actualizamos tb1 se actualice la tb2

Y para un deleate;

CREATE TRIGGER delete_tb1_tb2 BEFORE DELETE ON tb1 FOR EACH ROW BEGIN DELETE FROM tb2 WHERE id_tb2FK = OLD.id_tb1; END;

Si eliminamos un registro de la tb1 también se elimina en la tb2. OLD. esto es un valor que es definido por SQLite.

Insertar datos :

INSERT INTO tb1 VALUES ('1','Dato');

SELECT * FROM tb1;

crear vistas. Esta vista une las dos tablas

CREATE VIEW info AS SELECT * FROM tb2 JOIN (SELECT * FROM tb3)ON id_tb2_FK= id_tb2;

borrar tablas:

DROP TABLE nombretabla;

Page 3: Consultas sqlite

DUMP: crear un archivo sql

BEGIN TRANSACTION;CREATE TABLE Datos (id int(3) not null,Apellido char(30) not null,Nombre char(30) not null,Documentos char(30) not null,Observaciones chat(60) not null,primary key (id));INSERT INTO "Datos" VALUES(1, 'Aguiar', 'Edwin', 'Si, tiene', 'Ninguna quedestacar');INSERT INTO "Datos" VALUES(2, 'Esparza', 'Silvina', 'Tambien posee', 'Esposa');INSERT INTO "Datos" VALUES(3, 'Aguiar Esparza', 'Sabina', 'recien obtenido','Hija, bebe de 7 meses');COMMIT;

Actualizar Datos:

update Datos set Nombre="Marcelo" where Nombre="Edwin";

Eliminar registros

delete from Datos where id="2";

Realizar consultas

select Apellido from Datos;

select * from Datos order by Nombre;

select max(id) from Datos;

select COUNT(*) from Datos;

select * from Datos limit 2;

select Nombre, Apellido from datos where Apellido like 'A%';

select id, nombre FROM Consulta, Consultor where id=numero_consultor;

Android incorpora todas las herramientas necesarias para la creación y gestión de bases de datos SQLite, y entre ellas una

Page 4: Consultas sqlite

completa API para llevar a cabo de manera sencilla todas las tareas necesarias.

Todas las bases de datos se crean en la carpeta

/data/data/<package-name>/databases

Por defecto las bases de datos son privadas a la aplicación

Para compartir datos entre aplicaciones se usarán los Content

Providers.

En Android, la forma típica para crear, actualizar, y conectar con una base de datos SQLite será a través de una clase auxiliar llamada SQLiteOpenHelper, o para ser más exactos, de una clase propia que derive de ella y que debemos personalizar para adaptarnos a las necesidades concretas de nuestra aplicación.

La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no necesitaremos sobrescribir, y dos métodos abstractos, onCreate() y onUpgrade(), que deberemos personalizar con el código necesario para crear nuestra base de datos y para actualizar su estructura respectivamente.