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

Eksportuj całą bazę danych SQLite do pliku SQL

Wiersz poleceń SQLite udostępnia kilka metod eksportowania lub tworzenia kopii zapasowej całej bazy danych. Jednym z nich jest plik .dump polecenie kropki.

.dump Polecenie umożliwia konwersję całej bazy danych do pojedynczego pliku tekstowego ASCII. Innymi słowy, renderuje całą bazę danych jako SQL. Plik tekstowy zawiera wszystkie instrukcje SQL wymagane do tworzenia tabel, wstawiania danych itp.

Możesz także użyć .dump aby utworzyć skompresowany plik. Poniżej przedstawiam obie te metody.

Eksportuj jako SQL

Możesz użyć .dump w połączeniu z .output lub .once aby wyeksportować całą bazę danych do pliku .sql.

Ten plik będzie zawierał wszystkie instrukcje SQL wymagane do rekonstrukcji bazy danych (w tym tworzenie wszystkich tabel, wstawianie wszystkich danych itp.).

Oto przykład:

.once Store.sql
.dump

W tym przypadku użyłem .once Komenda. To po prostu kieruje wyniki następnego polecenia lub instrukcji SQL do określonego pliku.

W tym przypadku następnym poleceniem jest .dump polecenie kropka, które domyślnie renderuje całą zawartość bazy danych jako SQL.

Możesz alternatywnie użyć .output , ale to ukierunkuje wyniki wszystkich przyszłych poleceń/instrukcji SQL do pliku. Może to mieć niezamierzone konsekwencje, jeśli nie będziesz ostrożny.

Przywróć bazę danych

Po utworzeniu pliku kopii zapasowej .sql możesz zrekonstruować całą bazę danych, po prostu odczytując ten plik z SQLite.

Na przykład możesz połączyć się z SQLite podczas określania nowego pliku bazy danych (takiego, który jeszcze nie istnieje):

sqlite3 Store2.db

Określając plik bazy danych, który nie istnieje, SQLite utworzy pustą bazę danych.

Teraz, gdy jesteś w SQLite, możesz odczytać zawartość pliku kopii zapasowej:

.read Store.sql

To wszystko. Baza danych została zrekonstruowana z pliku .sql. Wszystkie tabele zostały utworzone i wszystkie dane zostały wstawione.

Utwórz skompresowany plik

Jeśli Twoja baza danych jest duża i zawiera dużo danych, lepiej byłoby utworzyć skompresowany plik kopii zapasowej.

Oto przykład:

sqlite3 Store .dump | gzip -c >Store.dump.gz

Zauważ, że jest to uruchamiane poza SQLite. Innymi słowy, nie łączyłem się z SQLite przed uruchomieniem tego polecenia. Po prostu otworzyłem nowe okno terminala i uruchomiłem to polecenie.

Właściwie najpierw przeszedłem do folderu kopii zapasowej. Jeśli tego nie zrobisz, musisz podać ścieżkę w pliku kopii zapasowej.

Możesz zrekonstruować bazę danych za pomocą zcat . zcat narzędzie umożliwia przeglądanie zawartości skompresowanego pliku bez faktycznego jego dekompresowania.

Tak więc plik utworzony we wcześniejszym przykładzie można zrekonstruować za pomocą zcat narzędzie.

zcat Store.dump.gz | sqlite3 Store2

Może to działać, ale nie musi, w zależności od systemu. Jeśli to nie zadziała, może być konieczne użycie innego narzędzia do kompresji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLiteReadOnlyDatabaseException:próba napisania bazy danych tylko do odczytu (kod 1032)

  2. Symuluj ORDER BY w SQLite UPDATE, aby poradzić sobie z ograniczeniem unikalności

  3. Importuj plik CSV do tabeli SQLite

  4. Dołączanie do SQLite

  5. Dostęp do bazy danych jednej aplikacji z innej aplikacji