SQLiteを使用する場合は、ATTACH DATABASE
を使用できます。 現在のデータベース接続にデータベースファイルを追加するステートメント。
これを行うときは、データベースファイル名を添付し、データベースの名前を指定します。ファイルが存在する場合は、選択した名前で添付されます。存在しない場合は、ファイルが作成され、選択した名前で添付されます。
例
ATTACH DATABASE 'Pets.db' AS Pets;
この例では、Pets.db
が発生します 添付してPets
と呼ばれるデータベースファイル 。
.databases
を使用できます 取り付けられていることを確認します。
.databases
結果:
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
この場合、以前にこのデータベースをmain
の下に追加しました 、したがって、同じデータベースファイルが2つの異なる名前で添付されるようになりました。
名前は、SQLiteによって内部的に使用されるデータベースの名前です。
データベースをデタッチする
DETACH DATABASE
を使用できます 現在の接続からデータベースをデタッチします。これはデータベースファイルを削除するのではなく、接続からデータベースを削除するだけです。
DETACH DATABASE Pets;
もう一度確認してください:
.databases
結果:
main: /Users/Shared/Pets.db
main
を切り離すことはできないことに注意してください (またはtemp
)データベース。これを行おうとすると、次のエラーが発生する可能性があります:
sqlite> DETACH DATABASE main;
Error: cannot detach database main
表現
ATTACH DATABASE
構文は、指定するファイル名が実際には式であることを指定します。リテラル値または式を指定できます。
式の構文は非常に複雑であり、興味がある場合はSQLiteのドキュメントで概説されています。