Lorsque vous utilisez SQLite, vous pouvez utiliser le ATTACH DATABASE
pour ajouter un fichier de base de données à la connexion actuelle à la base de données.
Lorsque vous faites cela, vous attachez un nom de fichier de base de données et fournissez un nom pour la base de données. Si le fichier existe, il sera attaché avec le nom choisi, sinon il sera créé et attaché avec le nom choisi.
Exemple
ATTACH DATABASE 'Pets.db' AS Pets;
Cet exemple provoque le Pets.db
fichier de base de données à joindre et appelé Pets
.
Vous pouvez utiliser .databases
pour vérifier qu'il a bien été joint.
.databases
Résultat :
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
Dans ce cas, j'avais précédemment ajouté cette base de données sous main
, ainsi le même fichier de base de données est maintenant attaché sous deux noms différents.
Le nom est le nom de la base de données utilisée en interne par SQLite.
Détacher une base de données
Vous pouvez utiliser DETACH DATABASE
pour détacher une base de données de la connexion en cours. Cela ne supprime pas le fichier de base de données, il supprime simplement la base de données de votre connexion.
DETACH DATABASE Pets;
Vérifiez à nouveau :
.databases
Résultat :
main: /Users/Shared/Pets.db
Notez que vous ne pouvez pas détacher main
(ou temp
) bases de données. Si vous essayez de le faire, vous obtiendrez probablement cette erreur :
sqlite> DETACH DATABASE main;
Error: cannot detach database main
Expressions
Le ATTACH DATABASE
La syntaxe spécifie que le nom de fichier que vous fournissez est en fait une expression. Vous pouvez fournir une valeur littérale ou une expression.
La syntaxe des expressions est assez complexe et est décrite dans la documentation SQLite si cela vous intéresse.