Jak zálohovat databázi SQLite do souboru.
Existuje několik způsobů, jak zálohovat databázi SQLite do souboru.
- Použijte
.backup
příkaz. - Použijte
.clone
příkaz. - Použijte
.dump
příkaz. - Zkopírujte soubor v systému souborů.
Položka .backup
Příkaz
Tento příkaz zálohuje databázi do souboru. Přijímá alias databáze (tj. databáze k zálohování) a název souboru (pro záložní soubor).
Pokud vynecháte alias databáze, použije se main
databáze.
Zde je příklad:
.backup mybackup.db
Tím se vytvoří soubor s názvem
backup.db
obsahující zálohu databáze. V případě potřeby jej můžete připojit zpět do shellu příkazového řádku SQLite3 (pak proveďte .databases
pro zobrazení seznamu databázových připojení):
sqlite> PŘIPOJTE DATABÁZI 'mybackup.db' JAKO MyBackup;sqlite> soubor názvu .databasesseq --- --------------- ------------ -----------------------------------------------0 hlavní / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db
V praxi byste pravděpodobně zálohovali databázi na jiné místo. Proto byste měli poskytnout úplnou cestu k souboru v .backup
příkaz. Například .backup /remote/folder/mybackup.db
.clone
Příkaz
.clone
příkaz je podobný příkazu .backup
příkaz. Nicméně .clone
používá pouze aktuální databázi, takže nemůžete určit jinou databázi ke klonování.
Chcete-li naklonovat aktuální databázi, zadejte .clone
následovaný názvem databázového souboru pro klonovaná data.
Takhle:
.clone myclone.db
Spuštění, které vypadá takto:
sqlite> .clone myclone.dbArtists... doneAlbums... doneAlbums2... doneCatalog... doneGenres... done
Klonovanou databázi můžete připojit stejně jako tu druhou:
sqlite> PŘIPOJTE DATABÁZI 'myclone.db' JAKO MyClone;sqlite> soubor názvu .databasesseq --- --------------- ----------- -----------------------------------------------0 hlavní / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db 3 MyClone /Users/quackit/sqlite/myclone.db
.dump
Příkaz
Můžete použít .dump
příkaz k výpisu databáze do souboru ASCII. Můžete jej například uložit do souboru .sql, který obsahuje příkazy SQL pro generování databáze.
Vypsat celou DB
Tento příklad vypíše music.db soubor do music.sql .
sqlite3 music.db .dump> music.sql
Obsah music.sql (vyžadováno posouvání):
PRAGMA Foreign_keys=OFF;BEGIN TRANSACTION;CREATE TABLE Artists( ArtistId INTEGER PRIMARY KEY, ArtistName TEXT NOT NULL, Bio TEXT);INSERT INTO "Artists" VALUES(1,'Joe Satriani',NULL);INSERT INTO "Artists " VALUES(2,'Steve Vai',NULL);INSERT INTO "Artists" VALUES(3,'The Tea Party',NULL);INSERT INTO "Artists" VALUES(4,'Noiseworks',NULL);INSERT INTO " Artists" VALUES(5,'Wayne Jury',NULL);INSERT INTO "Artists" VALUES(6,'Pan Percival',NULL);INSERT INTO "Artists" VALUES(7,'Iron Maiden',NULL);INSERT INTO "Artists" VALUES(8,'Atmasphere','Australská jazzová kapela zaměřená na polyrytmy.');INSERT INTO "Artists" VALUES(9,'Ian Moss',NULL);INSERT INTO "Artists" VALUES(10,'Magnum ',NULL);INSERT INTO "Artists" VALUES(13,'Primus',NULL);INSERT INTO "Artists" VALUES(14,'Pat Metheny',NULL);INSERT INTO "Artists" VALUES(15,'Frank Gambale ',NULL);INSERT INTO "Artists" VALUES(16,'Matky vynálezu',NULL);CREATE TABLE Alba(AlbumId INTEGER PRIMARY KEY, AlbumName TEXT NOT NULL, ReleaseDate TEXT, ArtistId INTEGER NENÍ NULL, CIZÍ KLÍČ(ArtistId) REFERENCE Artists(ArtistId));INSERT INTO "Albums" VALUES(1,'Killers','1981',7);INSERT INTO "Albums" VALUES(2,'Powerslave ','1984',7);INSERT INTO "Album" VALUES(3,'Surfing with the Alien','1987',1);INSERT INTO "Album" VALUES(4,'Heavy as a Really Heavy Thing', '1995',11);INSERT INTO "Album" VALUES(6,'Out of the Loop','2007',6);INSERT INTO "Album" VALUES(7,'Suck on This','1989',13 );INSERT INTO "Album" VALUES(8,'Vepřová soda','1993',13);INSERT INTO "Album" VALUES(9,'Sailing the Seas of Cheese','1991',13);INSERT INTO " Alba" VALUES(10,'Flying in a Blue Dream','1989',1);INSERT INTO "Album" VALUES(11,'Black Swans and Wormhole Wizards','2010',1);INSERT INTO "Album" VALUES(12,'Někde v čase','1986',7);CREATE TABLE Albums2( AlbumId INT, AlbumName TEXT, ArtistId INT);INSERT INTO "Albums2" VALUES(1,'Killers',7);INSERT INTO " Alba2" VALUES(2,'Powerslave',7);INSERT INTO "Albums2" VALUES(3,'Surfing with the Alien',1);INSERT INTO "A lbums2" VALUES(4,'Heavy as a Really Heavy Thing',11);INSERT INTO "Albums2" VALUES(5,'Mňam mňam',17);INSERT INTO "Albums2" VALUES(6,'Out of the Loop' ,6);INSERT INTO "Albums2" VALUES(7,'Suck on This',13);INSERT INTO "Albums2" VALUES(8,'Vepřová soda',13);INSERT INTO "Albums2" VALUES(9,'Sailing the Seas of Cheese',13);INSERT INTO "Albums2" VALUES(10,'Létání v modrém snu',1);INSERT INTO "Albums2" VALUES(11,'Černé labutě a čarodějové červí díry',1);INSERT INTO "Albums2" VALUES(12,'Někde v čase',7);INSERT INTO "Albums2" VALUES(13,'Big Red Car',17);CREATE TABLE Catalog( "AlbumId" TEXT, "AlbumName" TEXT, " ArtistName" TEXT);INSERT INTO "Catalog" VALUES('1','Killers','Iron Maiden');INSERT INTO "Catalog" VALUES('2','Powerslave','Iron Maiden');INSERT INTO " Catalog" VALUES('12','Somewhere in Time','Iron Maiden');INSERT INTO "Catalog" VALUES('3','Surfing with the Alien','Joe Satriani');INSERT INTO "Catalog" VALUES ('10','Létání v modrém snu','Joe Satriani');INSERT INTO "Catalog" VALUES('11',' Black Swans and Wormhole Wizards','Joe Satriani');INSERT INTO "Katalog" VALUES('6','Out of the Loop','Pan Percival');INSERT INTO "Catalog" VALUES('7','Suck on This','Primus');INSERT INTO "Catalog" VALUES('8','Pork Soda','Primus');INSERT INTO "Catalog" VALUES('9','Sailing the Seas of Cheese',' Primus');VYTVOŘIT TABULKU Žánry( ŽánrId INTEGER PRIMÁRNÍ KLÍČ, Žánr TEXT NENÍ NULL);VLOŽIT DO HODNOT "Žánry"(1,'Rock');VLOŽIT DO HODNOT "Žánry"(2,'Země');INSERT DO " Žánry" VALUES(3,'Pop');INSERT INTO "Žánry" VALUES(4,'Komedie');INSERT INTO "Žánry" VALUES(5,'Jazz');INSERT INTO "Žánry" VALUES(6,'Blues ');INSERT INTO "Genres" VALUES(7,'Techno');COMMIT;
Zkopírujte soubor
Výše uvedené metody vám umožňují zálohovat databázi z prostředí příkazového řádku SQLite3.
Můžete také zálohovat databázi jednoduše zkopírováním/vložením fyzického souboru do souborového systému.
Pokud si nejste jisti umístěním fyzického souboru, můžete použít .databases
příkaz k nalezení umístění:
sqlite> soubor názvu .databasesseq --- -------------- ----------------------- -----------------------------------0 main /Users/quackit/sqlite/music.db 1 tempTakže vyzbrojen výše uvedenými znalostmi mohu nyní přejít na /Users/quackit/sqlite/ zkopírujte music.db a vložte jej na bezpečné místo.