sql >> Databáze >  >> RDS >> SQLite

SQLite - Zálohování databáze do souboru

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 temp  

Takž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.


  1. Laravel:dynamické připojení k databázím

  2. Jak smazat data z Elastisearch

  3. Únikový řetězec Python pro MySQL

  4. Čtyři věci, které jste nevěděli o Amazon Aurora