La ligne de commande SQLite fournit plusieurs méthodes pour exporter ou sauvegarder une base de données entière. L'un d'entre eux implique le .dump
commande point.
Le .dump
La commande vous permet de convertir une base de données entière en un seul fichier texte ASCII. En d'autres termes, il rend toute la base de données en SQL. Le fichier texte contient toutes les instructions SQL nécessaires pour créer les tables, insérer des données, etc.
Vous pouvez également utiliser .dump
pour créer un fichier compressé. Je décris ces deux méthodes ci-dessous.
Exporter en SQL
Vous pouvez utiliser .dump
en conjonction avec .output
ou .once
pour exporter toute la base de données vers un fichier .sql.
Ce fichier contiendra toutes les instructions SQL requises pour reconstruire la base de données (y compris la création de toutes les tables, l'insertion de toutes les données, etc.).
Voici un exemple :
.once Store.sql
.dump
Dans ce cas, j'ai utilisé le .once
commande. Cela dirige simplement les résultats de la prochaine commande ou instruction SQL dans le fichier spécifié.
Dans ce cas, la commande suivante est le .dump
dot, qui, par défaut, affiche tout le contenu de la base de données en SQL.
Vous pouvez également utiliser .output
, mais cela dirigera les résultats de tous futures commandes/instructions SQL dans le fichier. Cela pourrait avoir des conséquences inattendues si vous ne faites pas attention.
Restaurer la base de données
Une fois que vous avez créé le fichier de sauvegarde .sql, vous pouvez reconstruire toute la base de données en lisant simplement ce fichier depuis SQLite.
Par exemple, vous pouvez vous connecter à SQLite tout en spécifiant un nouveau fichier de base de données (un qui n'existe pas déjà) :
sqlite3 Store2.db
En spécifiant un fichier de base de données qui n'existe pas, SQLite créera une base de données vide.
Maintenant que vous êtes dans SQLite, vous pouvez lire le contenu du fichier de sauvegarde :
.read Store.sql
C'est tout ce qu'on peut en dire. La base de données a été reconstruite à partir du fichier .sql. Toutes les tables ont été créées et toutes les données ont été insérées.
Créer un fichier compressé
Si votre base de données est volumineuse et contient beaucoup de données, il serait peut-être préférable de créer un fichier de sauvegarde compressé.
Voici un exemple :
sqlite3 Store .dump | gzip -c >Store.dump.gz
Notez que ceci est exécuté en dehors de SQLite. En d'autres termes, je ne me suis pas connecté à SQLite avant d'exécuter cette commande. J'ai simplement ouvert une nouvelle fenêtre de terminal et exécuté cette commande.
En fait, j'ai d'abord navigué vers le dossier de sauvegarde. Si vous ne le faites pas, vous devrez inclure le chemin dans le fichier de sauvegarde.
Vous pouvez reconstruire la base de données avec zcat . Le zcat vous permet d'afficher le contenu d'un fichier compressé sans le décompresser.
Ainsi, le fichier créé dans l'exemple précédent pourrait être reconstruit à l'aide de zcat utilitaire.
zcat Store.dump.gz | sqlite3 Store2
Cela peut ou non fonctionner selon votre système. Si cela ne fonctionne pas, vous devrez peut-être utiliser un autre utilitaire de compression.