RSS

Realizar Backup Con Sqlite

miércoles, 23 de enero de 2008


Como venimos esplicando en con sqlite se puden realizar migrar datos, dentre diferente fuentes. en tes caso mostraremos como realizar las copias des segurridad de las tablas de la base de datos usando el comando ".output".>


sqlite> .output backup.sql (Asignamos el nombre del Archivo)


sqlite> .mode insert personal (El modo que trabajaremos sera backup de insercion)


sqlite> .schema personal (Mostraremos el esquema de creacion de la tabla)


sqlite> SELECT * FROM personal ; (selecionamos todos los datos desde la tabla personal)


sqlite> .quit


Y asi optendremos un archivo .sql con todas las entradas listas para ser insertadas nuevamentes y con la estructura de la base de datos.

Como migrar una Base de Datos de Access a SQLite

viernes, 18 de enero de 2008

A pedido de Guille en donde nos pedia si podíamos ver como migrar de una Base de Datos de Access a SQLite, buscando en internety bueno chequeando la información obtenida les paso a contar como es posible realizar esta acción.

En primer lugar necesitas tener instalado mdbtools, que son un par de herramientas para manipular Bases de Datos de Access. Esto es muy facil de instalar:

$ sudo apt-get install mdbtools

y obviamente descontamos que ya tienes instalado en tu maquina sqlite3.

Para este ejemplo les comento que encontre por ahy un ejemplo de base de dato de Access llamada Empresa.mdb

Ahora veamos como empezar a trabajar, primero vamos a pasar de mdb a sql y lo vamos a llevar a cabo en dos faces, primero por el esquema, donde aparece la definición de los datos y segundo por los datos que contiene nuestra base de datos. Para ello realizamos lo siguiente:

$ mdb-schema Empresa.mdb > esquema.sql

Ahora puedes visualizar el archivo "esquema.sql" y verás como esta la definición de las tablas, los campos, etc.

$ mdb-export -H -I Empresa.mdb Empleados > datos.txt

Lo que hicimos ahora fue migrar el contenido de la tabla "Empleados" al archivo "datos.txt", si se fijan este archivo cuenta con los correspondientes INSERT, VALUES, etc. Pero a todo esto tenemos un pequeño problema cada líne de INSERT no finaliza con un ";" como debería de ser en SQLite, pero esto nuevamente se soluciona muy facilmente:

$ cat datos.txt | sed -e 's/")/");/g' > datos.temp

Ahora bien es el archivo "datos.temp" quien ya fueron formateados los datos para la total migración a SQLite.
Por último nos queda finalizar la migración total a SQLite de la siguiente forma:

$ sqlite3 migracion.db
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> .read esquema.sql
SQL error near line 9: no such table: Empleados
sqlite> .read datos.temp
sqlite> .dump
BEGIN TRANSACTION;
CREATE TABLE Empleados
(
Clave Integer,
Puesto Text (20),
Nombre Text (50),
Email Text (50)
);
INSERT INTO "Empleados" VALUES(1,'Capo','Manuel Caro Quintero','mafia@sinaloa.com');
INSERT INTO "Empleados" VALUES(2,'Comandante','Ventura','PGR@sinaloa.com');
INSERT INTO "Empleados" VALUES(3,'Administrador','Lic. Palma','guero_palma@sinaloa.com');
COMMIT;


vemos como de manera exitosa migramos los datos desde una Base de Datos de Access a SQLite. Para finalizar veamos si realmente contamos con todos los datos y nuevamente revisamos.

sqlite> .tables
Empleados
sqlite> select * from Empleados;
1|Capo|Manuel Caro Quintero|mafia@sinaloa.com
2|Comandante|Ventura|PGR@sinaloa.com
3|Administrador|Lic. Palma|guero_palma@sinaloa.com
sqlite> .quit


Bueno ojalá que le sea útil y como siempre las dudas y preguntas la debatimos entre todos. Muchas Gracias y hasta la proxima...

SQLite Manager

martes, 15 de enero de 2008


Es una extension Firefox para minupular bases de datos con SQLite, se ella se puden crear crear tablas e índices, navegar en los archivos ejecutar consultas SQL. y Modificar los registros .
Mas informacion en
http://sqlitemanager.mozdev.org/

Escribiendo datos con Python

miércoles, 2 de enero de 2008

Bueno una ves realizada la conexión como vimos en el primer post de integración entre SQLite y Python, ya estamos dispuestos a crear y guardar datos en nuestra Base de Datos creada. Para hacer esto debemos ejecutar un método de nuestro cursor llamado execute pasándole como parámetro nuestra consulta. En este primer ejemplo vamos a crear un Tabla.

>>> cursor.execute('CREATE TABLE personal (id INTEGER PRIMARY KEY, apellido VARCHAR(50), nombre VARCHAR(50), email VARCHAR(100))')

Ahora que ya tenemos creado nuestra tabla podemos comenzar a cargarles información nuevamente convocando el método execute de nuestro objeto cursor.

>>> cursor.execute('INSERT INTO personal VALUES (null, "Ramos", "Juan", "juan_85@gmail.com")')
>>> cursor.execute('INSERT INTO personal VALUES (null, "Juarez", "Martín", "martin58j@gmail.com")')

Estos ejemplos son a modo de visualizar el modo en la cual se pueden almacenar datos en nuestra base de datos, la librería pysqlite nos permite almacenar datos de otra manera utilizando variables que por ejemplo hemos recuperado de algún Form o Widget.

>>> apellido = "Gomes"
>>> nombre = "Carlos"
>>> email = "gcarlos@yahoo.com"

>>> cursor.execute('INSERT INTO personal VALUES (null, ?, ?, ?)', (apellido, nombre, email))

Una ves que terminamos de hacer los cambios debemos almacenar estos datos de manera permanente invocando al método commit del nuestro objeto conexion.

>>> conexion.commit()

Si intentas cerrar una conexión que ha sido modificada sin invocar al metodo commit, pysqlite planteará un error, este comportamiento puede causar problemas, sin embargo si ustedes no desean guardar los cambios que se han efectuado pueden convocar al método rollback de nuestro objeto conexión.

>>> conexion.rollback()

En la siguiente entrega vamos ver diferentes formar de recuperar los datos que almacenamos en nuestra Base de Datos.

FELIZ 2008


Feliz 2008 les desea SQLite-Latino .
Daniel Maldonado y Gerardo Cabero