Oversigt :i denne øvelse lærer du, hvordan du bruger SQLite dump-kommandoen til at sikkerhedskopiere og gendanne en database.
SQLite-projektet leverer sqlite3
værktøj, der giver dig mulighed for at interagere med SQLite-databasen ved hjælp af et kommandolinjeprogram.
Ved at bruge sqlite3
værktøj, kan du bruge SQL-sætningerne til at forespørge eller opdatere data i databasen. Du kan også bruge specielle kommandoer, som er kendt som punktkommandoer til at udføre forskellige nyttige databaseoperationer.
En af disse punktkommandoer er .dump
kommando, der giver dig mulighed for at dumpe hele databasen eller tabellerne i en tekstfil.
Dump hele databasen i en fil ved hjælp af SQLite dump-kommandoen
Følgende kommando åbner en ny SQLite-databaseforbindelse til chinook.db
fil.
C:\sqlite>sqlite3 c:/sqlite/chinook.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite>
Code language: JavaScript (javascript)
For at dumpe en database ind i en fil, skal du bruge .dump
kommando. .dump
kommando konverterer hele strukturen og dataene i en SQLite-database til en enkelt tekstfil.
Som standard er .dump
kommando udsender SQL-sætningerne på skærmen. For at udstede output til en fil, skal du bruge .output FILENAME
kommando.
Følgende kommandoer specificerer outputtet af dumpfilen til chinook.sql
og dump chinook-databasen i chinook.sql
fil.
sqlite> .output c:/sqlite/chinook.sql
sqlite> .dump
sqlite> .exit
Code language: JavaScript (javascript)
Dump en specifik tabel ved hjælp af SQLite dump-kommandoen
For at dumpe en specifik tabel angiver du tabelnavnet efter .dump
kommando. For eksempel gemmer følgende kommando albums
tabellen til albums.sql
fil.
sqlite> .output c:/sqlite/albums.sql
sqlite> .dump albums
sqlite> .quit
Code language: JavaScript (javascript)
Det følgende billede viser indholdet af albums.sql
fil.
Dump-tabeller strukturerer kun ved hjælp af skemakommando
For at dumpe tabelstrukturerne i en database, bruger du .schema
kommando.
Følgende kommandoer indstiller outputfilen til chinook_structure.sql
fil og gem tabelstrukturerne i chinook_structure.sql
fil:
sqlite> .output c:/sqlite/chinook_structure.sql
sqlite> .schema
sqlite> .quit
Code language: JavaScript (javascript)
Det følgende billede viser indholdet af chinook_structure.sql
fil.
Dump data fra en eller flere tabeller i en fil
For at dumpe dataene fra en tabel til en tekstfil, skal du bruge disse trin:
Indstil først tilstanden til insert
ved at bruge .mode
kommando som følger:
sqlite> .mode insert
Code language: CSS (css)
Fra nu af vil hver SELECT-sætning udsende resultatet som INSERT-sætningerne i stedet for rene tekstdata.
For det andet skal du indstille output til en tekstfil i stedet for standard standardoutput. Følgende kommando indstiller outputfilen til data.sql
fil.
sqlite> .output data.sql
Code language: CSS (css)
For det tredje skal du udstede SELECT-sætningerne for at forespørge data fra en tabel, som du vil dumpe. Den følgende kommando returnerer data fra artists
tabel.
sqlite> select * from artists;
Code language: SQL (Structured Query Language) (sql)
Tjek indholdet af data.sql
fil, hvis alt er i orden, vil du se følgende output:
For at dumpe data fra andre tabeller skal du udstede SELECT
sætninger for at forespørge data fra disse tabeller.
I denne øvelse har du lært, hvordan du dumper data ind i en tekstfil ved hjælp af SQLite dump-kommandoen og andre kommandoer.