Sqlite-detach-database
提供:Dev Guides
SQLite-データベースの取り外し
SQLite DETACH DATABASE ステートメントは、以前にATTACHステートメントを使用してアタッチされていたデータベース接続から名前付きデータベースをデタッチおよび分離するために使用されます。 同じデータベースファイルに複数のエイリアスが添付されている場合、DETACHコマンドは指定された名前のみを切断し、残りの添付ファイルは引き続き続行されます。 main または temp データベースをデタッチすることはできません。
データベースがインメモリまたは一時データベースの場合、データベースは破棄され、コンテンツは失われます。
構文
以下は、SQLite DETACH DATABASE 'Alias-Name’ステートメントの基本的な構文です。
DETACH DATABASE 'Alias-Name';
ここで、「エイリアス名」は、ATTACHステートメントを使用してデータベースをアタッチするときに使用したものと同じエイリアスです。
例
*.database* コマンドを使用して確認できるように、前の章で作成し、「test」と「currentDB」で接続したデータベースがあると考えてください。
sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
3 currentDB /home/sqlite/testDB.db
次のコマンドを使用して、testDB.dbから「currentDB」をデタッチしてみましょう。
sqlite> DETACH DATABASE 'currentDB';
現在、現在の添付ファイルを確認すると、testDB.dbがまだ「test」と「main」で接続されていることがわかります。
sqlite>.databases
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db