SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Dołącz bazę danych w SQLite

Używając SQLite, możesz użyć ATTACH DATABASE instrukcja, aby dodać plik bazy danych do bieżącego połączenia z bazą danych.

Gdy to zrobisz, dołączysz nazwę pliku bazy danych i podasz nazwę bazy danych. Jeśli plik istnieje, zostanie dołączony pod wybraną nazwą, w przeciwnym razie zostanie utworzony i dołączony pod wybraną nazwą.

Przykład

ATTACH DATABASE 'Pets.db' AS Pets;

Ten przykład powoduje, że Pets.db plik bazy danych do załączenia i nazwany Pets .

Możesz użyć .databases aby sprawdzić, czy został dołączony.

.databases

Wynik:

main: /Users/Shared/Pets.db
Pets: /Users/Shared/Pets.db

W tym przypadku wcześniej dodałem tę bazę danych pod main , więc ten sam plik bazy danych jest teraz dołączony pod dwiema różnymi nazwami.

Nazwa to nazwa bazy danych używanej wewnętrznie przez SQLite.

Odłącz bazę danych

Możesz użyć DETACH DATABASE aby odłączyć bazę danych od bieżącego połączenia. Nie powoduje to usunięcia pliku bazy danych, po prostu usuwa bazę danych z połączenia.

DETACH DATABASE Pets;

Sprawdź ponownie:

.databases

Wynik:

main: /Users/Shared/Pets.db

Pamiętaj, że nie możesz odłączyć main (lub temp ) baz danych. Jeśli spróbujesz to zrobić, prawdopodobnie otrzymasz ten błąd:

sqlite> DETACH DATABASE main;
Error: cannot detach database main

Wyrażenia

ATTACH DATABASE składnia określa, że ​​podana nazwa pliku jest w rzeczywistości wyrażeniem. Możesz podać wartość dosłowną lub wyrażenie.

Składnia wyrażeń jest dość złożona i została opisana w dokumentacji SQLite, jeśli jesteś zainteresowany.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować na wielkie litery w SQLite

  2. SQLite - Utwórz kopię zapasową bazy danych do pliku

  3. Pobierz pierwszy, drugi, trzeci lub czwarty poniedziałek miesiąca w SQLite

  4. 3 sposoby na zastąpienie NULL przez „N/A” w SQLite

  5. Android - próba ponownego otwarcia już zamkniętego obiektu:SQLiteQuery za pomocą loaderManager