sql >> Database >  >> RDS >> SQLite

Een volledige SQLite-database exporteren naar een SQL-bestand

De SQLite-opdrachtregel biedt verschillende methoden voor het exporteren of back-uppen van een volledige database. Een daarvan betreft de .dump dot-opdracht.

De .dump opdracht stelt u in staat een hele database naar een enkel ASCII-tekstbestand te converteren. Met andere woorden, het geeft de hele database weer als SQL. Het tekstbestand bevat alle SQL-instructies die nodig zijn om de tabellen te maken, gegevens in te voegen, enz.

U kunt ook .dump . gebruiken om een ​​gecomprimeerd bestand te maken. Ik schets beide methoden hieronder.

Exporteren als SQL

U kunt .dump . gebruiken in combinatie met .output of .once om de hele database naar een .sql-bestand te exporteren.

Dit bestand bevat alle SQL-instructies die nodig zijn om de database te reconstrueren (inclusief het maken van alle tabellen, het invoegen van alle gegevens, enz.).

Hier is een voorbeeld:

.once Store.sql
.dump

In dit geval gebruikte ik de .once opdracht. Dit leidt eenvoudigweg de resultaten van de volgende opdracht of SQL-instructie naar het opgegeven bestand.

In dit geval is het volgende commando de .dump dot-opdracht, die standaard alle database-inhoud als SQL weergeeft.

U kunt ook .output . gebruiken , maar dit zal de resultaten van alle toekomstige commando's/SQL-instructies in het bestand. Dit kan onbedoelde gevolgen hebben als je niet voorzichtig bent.

De database herstellen

Nadat u het .sql-back-upbestand heeft gemaakt, kunt u de hele database reconstrueren door dat bestand eenvoudig vanuit SQLite te lezen.

U kunt bijvoorbeeld verbinding maken met SQLite terwijl u een nieuw databasebestand opgeeft (een bestand dat nog niet bestaat):

sqlite3 Store2.db

Door een databasebestand op te geven dat niet bestaat, maakt SQLite een lege database.

Nu u in SQLite bent, kunt u de inhoud van het back-upbestand lezen:

.read Store.sql

Dat is alles. De database is gereconstrueerd uit het .sql-bestand. Alle tabellen zijn gemaakt en alle gegevens zijn ingevoegd.

Maak een gecomprimeerd bestand

Als uw database groot is en veel gegevens bevat, kunt u beter een gecomprimeerd back-upbestand maken.

Hier is een voorbeeld:

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

Merk op dat dit buiten SQLite wordt uitgevoerd. Met andere woorden, ik heb geen verbinding gemaakt met SQLite voordat ik deze opdracht uitvoerde. Ik opende gewoon een nieuw terminalvenster en voerde die opdracht uit.

Eigenlijk ben ik eerst naar de back-upmap genavigeerd. Als u dit niet doet, moet u het pad in het back-upbestand opnemen.

U kunt de database reconstrueren met zcat . De zcat hulpprogramma stelt u in staat om de inhoud van een gecomprimeerd bestand te bekijken zonder het daadwerkelijk te decomprimeren.

Het bestand dat in het eerdere voorbeeld is gemaakt, kan dus worden gereconstrueerd met behulp van de zcat hulpprogramma.

zcat Store.dump.gz | sqlite3 Store2

Dit kan wel of niet werken, afhankelijk van uw systeem. Als dit niet werkt, moet u mogelijk een ander compressieprogramma gebruiken.


  1. Hoe sqrt() werkt in PostgreSQL

  2. MariaDB 10.1 installeren in Debian Jessie en verschillende MariaDB-query's uitvoeren

  3. Fout 1033 ontvangen inloggen op de standby

  4. Waarde Fout bij het importeren van gegevens in de postgres-tabel met psycopg2