SQLite Detach Database
La commandeDETACH DATABASEde SQLite est utilisée pour détacher et libérer une base de données nommée d'une connexion de base de données qui a été précédemment attachée à l'aide de l'instruction ATTACH. Si le même fichier de base de données a été attaché avec plusieurs alias, la commande DETACH ne déconnectera que la connexion pour le nom donné, tandis que les autres restent valides. Vous ne pouvez pas détachermainoutempla base de données.
Si la base de données est une base de données en mémoire ou temporaire, la base de données sera détruite et son contenu sera perdu.
Syntaxe
La syntaxe de base de l'instruction DETACH DATABASE 'Alias-Name' de SQLite est la suivante :
DETACH DATABASE 'Alias-Name';
Ici, 'Alias-Name' est le même alias que vous avez utilisé lors de l'attachement de la base de données avec l'instruction ATTACH précédemment.
Exemple
Supposons que vous ayez créé une base de données dans les chapitres précédents et y ayez attaché 'test' et 'currentDB'. En utilisant la commande .database, nous pouvons voir :
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db
Maintenant, essayons de détacher 'currentDB' de testDB.db, comme suit :
sqlite> DETACH DATABASE 'currentDB';
Maintenant, si vous vérifiez les bases de données actuellement attachées, vous constaterez que testDB.db est toujours connectée à 'test' et 'main'.
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.dbAutres extensions