SQLite
 sql >> Base de données >  >> RDS >> SQLite

Sauvegarder une base de données SQLite

Le shell de ligne de commande SQLite fournit le .backup dot qui vous permet de sauvegarder rapidement et facilement une base de données.

Pour utiliser cette commande, indiquez le nom de la base de données que vous souhaitez sauvegarder et un nom de fichier pour le fichier de sauvegarde.

Exemple

Voici un exemple de sauvegarde d'une base de données.

.backup Store Store_backup.db

Cela sauvegarde la base de données appelée Store dans un fichier de sauvegarde appelé Store_backup.db dans le répertoire courant.

Pour sauvegarder dans un autre répertoire, utilisez le chemin. Par exemple :

.backup Store /Users/sqlite/bak/Store_backup.db

Sauvegarder la base de données principale

Le premier argument est facultatif. Par exemple, vous pouvez vous connecter à SQLite comme ceci :

sqlite3 Chinook.db

Ce qui ouvre le Chinook.db base de données. Cette base de données apparaîtra comme principale base de données.

Ensuite, lancez ceci :

.backup Chinook_backup.db

Cela sauvegardera la base de données dans le fichier spécifié.

Sauvegarder la base de données actuellement attachée

Voici un autre exemple similaire au précédent, mais avec un cas d'utilisation légèrement différent.

Dans cet exemple, je me connecte à SQLite sans spécifier de base de données. Ensuite, j'attache une base de données, puis lance le .backup commande.

Je vais combiner toutes les commandes par souci de brièveté :

sqlite3
ATTACH DATABASE 'Store.db' AS Store;
.backup Backup.db

Cela sauvegarde le Store base de données.

Restaurer/Utiliser la sauvegarde

Vous pouvez utiliser le .restore commande pour restaurer la base de données. Cela accepte le nom de la base de données à restaurer, suivi de l'emplacement du fichier de sauvegarde.

Exemple :

ATTACH DATABASE 'Chinook2.db' AS Chinook2;
.restore Chinook2 Chinook_backup.db

Dans ce cas, j'ai créé une base de données vide appelée Chinook2 avec lequel restaurer la sauvegarde.

Une autre façon de le faire est de simplement joindre la sauvegarde, comme vous le feriez avec n'importe quel autre fichier de base de données :

ATTACH DATABASE 'Chinook_backup.db' AS Chinook;

Si vous utilisez cette méthode, vous voudrez probablement faire une copie de vos sauvegardes et ne joindre que la copie. Sinon, vous écraserez votre sauvegarde et il ne sera pas possible de la restaurer à une version antérieure.