English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite データベース分離(DETACH DATABASE)

SQLiteのDETACH DATABASE文は、ATTACH文で以前にアタッチしたデータベースと名前付きデータベースの接続を分離および解除するために使用されます。同じデータベースファイルに複数の別名がアタッチされている場合、DETACHコマンドは指定された名前の接続のみを切断し、残りのアタッチは継続します。mainまたはtempデータベース。

そのデータベースがメモリデータベースまたは一時データベースであれば、データベースは破損し、内容が失われます。

文法

以下はSQLiteのDETACH DATABASE 'Alias-Name'文の基本的な構文です。

DETACH DATABASE 'Alias-Name';

ここでは、「Alias-「Name」はATTACH文でデータベースをアタッチしたときに使用する別名です。

オンラインサンプル

あなたがデータベースを持っていて、前の章で作成したデータベースに「test」と「currentDB」をアタッチしていると仮定すると、.databaseコマンドそれを見ます。

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