sql >> Base de Datos >  >> RDS >> SQLite

Exportar una base de datos SQLite completa a un archivo SQL

La línea de comandos de SQLite proporciona varios métodos para exportar o hacer una copia de seguridad de una base de datos completa. Uno de ellos involucra el .dump comando punto.

El .dump El comando le permite convertir una base de datos completa en un único archivo de texto ASCII. En otras palabras, representa toda la base de datos como SQL. El archivo de texto contiene todas las instrucciones SQL necesarias para crear las tablas, insertar datos, etc.

También puede usar .dump para crear un archivo comprimido. Describo ambos métodos a continuación.

Exportar como SQL

Puedes usar .dump junto con .output o .once para exportar toda la base de datos a un archivo .sql.

Este archivo contendrá todas las instrucciones SQL necesarias para reconstruir la base de datos (incluida la creación de todas las tablas, la inserción de todos los datos, etc.).

He aquí un ejemplo:

.once Store.sql
.dump

En este caso usé el .once dominio. Esto simplemente dirige los resultados del siguiente comando o declaración SQL al archivo especificado.

En este caso, el siguiente comando es .dump comando dot, que de forma predeterminada representa todo el contenido de la base de datos como SQL.

Alternativamente, podría usar .output , pero esto dirigirá los resultados de todos futuros comandos/sentencias SQL en el archivo. Esto podría tener consecuencias no deseadas si no tienes cuidado.

Restaurar la base de datos

Una vez que haya creado el archivo de copia de seguridad .sql, puede reconstruir toda la base de datos simplemente leyendo ese archivo desde SQLite.

Por ejemplo, puede conectarse a SQLite mientras especifica un nuevo archivo de base de datos (uno que aún no existe):

sqlite3 Store2.db

Al especificar un archivo de base de datos que no existe, SQLite creará una base de datos en blanco.

Ahora que está en SQLite, puede leer el contenido del archivo de copia de seguridad:

.read Store.sql

Eso es todo al respecto. La base de datos se ha reconstruido a partir del archivo .sql. Se han creado todas las tablas y se han insertado todos los datos.

Crear un archivo comprimido

Si su base de datos es grande y contiene muchos datos, es mejor que cree un archivo de copia de seguridad comprimido.

He aquí un ejemplo:

sqlite3 Store .dump | gzip -c >Store.dump.gz

Tenga en cuenta que esto se ejecuta fuera de SQLite. En otras palabras, no me conecté a SQLite antes de ejecutar este comando. Simplemente abrí una nueva ventana de terminal y ejecuté ese comando.

En realidad, primero navegué a la carpeta de respaldo. Si no hace esto, deberá incluir la ruta en el archivo de copia de seguridad.

Puedes reconstruir la base de datos con zcat . El zcat La utilidad le permite ver el contenido de un archivo comprimido sin tener que descomprimirlo.

Entonces, el archivo creado en el ejemplo anterior podría reconstruirse usando el zcat utilidad.

zcat Store.dump.gz | sqlite3 Store2

Esto puede o no funcionar dependiendo de su sistema. Si esto no funciona, es posible que deba usar una utilidad de compresión diferente.