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

Attacher une base de données dans SQLite

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.