SQLite Attach Database
Supposons une situation où plusieurs bases de données sont disponibles en même temps, et vous souhaitez utiliser l'une d'entre elles. La déclarationATTACH DATABASEde SQLite est utilisée pour sélectionner une base de données spécifique. Après l'utilisation de cette commande, toutes les instructions SQLite seront exécutées sous la base de données attachée.
Syntaxe
La syntaxe de base de la déclaration ATTACH DATABASE de SQLite est la suivante :
ATTACH DATABASE file_name AS database_name;
Si la base de données n'a pas encore été créée, la commande ci-dessus créera une base de données. Si la base de données existe déjà, elle lie le nom du fichier de base de données à la base de données logique 'Alias-Name'.
La base de données ouverte et la base de données attachée à l'aide de ATTACH doivent être situées dans le même dossier.
Exemple
Si vous souhaitez attacher une base de données existantetestDB.db, alors la déclaration ATTACH DATABASE sera la suivante :
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
Utilisez la commande SQLite.databasepour afficher les bases de données attachées.
sqlite> .database seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db
Les noms de base de donnéesmainettempsont réservés pour la base de données principale et la base de données qui stocke les tables temporaires et autres objets de données temporaires. Ces deux noms de base de données peuvent être utilisés pour chaque connexion à une base de données, et ne doivent pas être utilisés pour l'attachement, sinon vous recevrez un message d'avertissement, comme indiqué ci-dessous :
sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP'; Error: database TEMP is already in use sqlite> ATTACH DATABASE 'testDB.db' as 'main'; Error: database main is already in use;Autres extensions