sql >> データベース >  >> RDS >> SQLite

SQLiteでデータベースをアタッチする

    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のドキュメントで概説されています。


    1. RDLCLocalReportのExcelへのエクスポートが非常に遅い

    2. ORA-02287:シーケンス番号はここでは許可されていません

    3. MySQLプロセスを表示する方法

    4. イミディエイトウィンドウの高速でダーティなForループ