SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite - Архивиране на база данни във файл

Как да архивирам база данни на SQLite във файл.

Има няколко начина за архивиране на база данни на SQLite във файл.

  • Използвайте .backup команда.
  • Използвайте .clone команда.
  • Използвайте .dump команда.
  • Копирайте файла във файловата система.

.backup Команда

Тази команда архивира база данни във файл. Той приема псевдоним на база данни (т.е. базата данни за архивиране) и име на файл (за архивния файл).

Ако пропуснете псевдонима на базата данни, той ще използва main база данни.

Ето един пример:

.backup mybackup.db

Това ще създаде файл, наречен backup.db съдържаща резервно копие на базата данни. Можете да прикачите това обратно към обвивката на командния ред на SQLite3, ако е необходимо (след това направете .databases за да видите списъка с връзки към базата данни):

sqlite> ПРИКАЧЕТЕ БАЗА ДАННИ 'mybackup.db' КАТО MyBackup;sqlite> .databasesseq файл с име --- --------------- ----------- -----------------------------------------------0 main / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db 

На практика вероятно бихте архивирали базата данни на друго място. Следователно, вие бихте предоставили пълния път на файла в .backup команда. Например .backup /remote/folder/mybackup.db

.clone Команда

.clone командата е подобна на .backup команда. Въпреки това, .clone използва само текущата база данни, така че не можете да посочите друга база данни за клониране.

За да клонирате текущата база данни, въведете .clone последвано от името на файла на базата данни за клонираните данни.

Като това:

.clone myclone.db

Изпълнението изглежда така:

sqlite> .clone myclone.dbArtists... doneAlbums... doneAlbums2... doneCatalog... doneGanres... done

Можете да прикачите клонираната база данни точно като другата:

sqlite> ПРИКАЧЕТЕ БАЗА ДАННИ 'myclone.db' КАТО MyClone;sqlite> .databasesseq файл с име --- --------------- ----------- -----------------------------------------------0 main / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db 3 MyClone /Users/quackit/sqlite/myclone.db 

.dump Команда

Можете да използвате .dump команда за изхвърляне на базата данни в ASCII файл. Например, можете да го изхвърлите в .sql файл, който съдържа SQL изразите, от които да генерирате базата данни.

Изхвърлете цялата DB

Този пример изхвърля music.db файл в music.sql .

sqlite3 music.db .dump>
 music.sql

Съдържание на music.sql (изисква се превъртане):

PRAGMA external_keys=ИЗКЛЮЧЕНО;ЗАПОЧНЕТЕ ТРАНЗАКЦИЯ;СЪЗДАВАНЕ НА ТАБЛИЦА Изпълнители( ArtistId INTEGER PRIMARY KEY, ArtistName TEXT NOT NULL, Bio TEXT);INSERT IN TO "Artiists" VALUES(1,'Joe Satriani',NULL);INSERT INTO "Artists " VALUES(2,'Steve Vai',NULL);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Артисти"(3,'The Tea Party',NULL);ВЪВЕТЕ В СТОЙНОСТИ "Артисти"(4,'Noiseworks',NULL);ВМЕСЕТЕ В " Artists" VALUES(5,'Wayne Jury',NULL);INSERT INTO "Artists" VALUES(6,'Mr Percival',NULL);INSERT INTO "Artists" VALUES(7,'Iron Maiden',NULL);INSERT INTO "Артисти" СТОЙНОСТИ(8,'Atmasphere','Австралийска джаз банда, съсредоточена около полиритми.');ВЪВЕТЕ ВЪВ СТОЙНОСТИТЕ "Артисти"(9,'Ian Moss',NULL);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Артисти"(10,'Magnum ',NULL);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Изпълнители"(13,'Primus',NULL);ВЪВЕТЕ В СТОЙНОСТИТЕ "Изпълнители"(14,'Pat Metheny',NULL);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Артисти"(15,'Frank Gambale ',NULL);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Изпълнители"(16,'Mothers of Invention',NULL);СЪЗДАВАЙТЕ ТАБЛИЦА Албуми( AlbumId INTEGER PRIMARY KEY, AlbumName TEXT NOT NULL, ReleaseDate TEXT, ArtistId INTEGER NOT NULL, FOREIGN KEY(ArtistId) РЕФЕРЕНЦИИ Изпълнители(ArtistId));INSERT INTO "Albums" VALUES(1,'Killers','1981',7);INSERT INTO "Albums" VALUES(2,'Powerslave ','1984',7);INSERT INTO "Albums" VALUES(3,'Surfing with the Alien','1987',1);INSERT INTO "Albums" VALUES(4,'Heavy as a Really Heavy Thing', '1995',11);INSERT INTO "Albums" VALUES(6,'Out of the Loop','2007',6);INSERT INTO "Albums" VALUES(7,'Suck on This','1989',13 );INSERT INTO "Albums" STOS(8,'Pork Soda','1993',13);INSERT INTO "Albums" VALUES(9,'Sailing the Seas of Cheese','1991',13);INSERT INTO " Албуми" VALUES(10,'Flying in a Blue Dream','1989',1);INSERT INTO "Albums" VALUES(11,'Black Swans and Wormhole Wizards','2010',1);INSERT INTO "Albums" VALUES(12,'Somewhere in Time','1986',7);СЪЗДАВАНЕ НА ТАБЛИЦА Albums2( AlbumId INT, AlbumName TEXT, ArtistId INT);INSERT INTO "Albums2" VALUES(1,'Killers',7);INSERT INTO " Албуми2" СТОЙНОСТИ(2,'Powerslave',7);ВМЕСЕТЕ ВЪВ "Albums2" СТОЙНОСТИ(3,'Сърфиране с извънземното',1);ВМЕСЕТЕ ВЪВ "A lbums2" VALUES(4,'Тежък като наистина тежко нещо',11);INSERT INTO "Albums2" VALUES(5,'Yummy Yummy',17);INSERT INTO "Albums2" VALUES(6,'Out of the Loop' ,6);ВМЕСЕТЕ В СТОЙНОСТИТЕ "Albums2"(7,'Suck on This',13);INSERT INTO "Albums2" STOS(8,'Pork Soda',13);INSERT INTO "Albums2" VALUES(9,'Sailing the Seas of Cheese',13);ВЪВЕТЕ ВЪВ СТОЙНОСТИ „Albums2“(10,„Flying in a Blue Dream“,1);INSERT В „Albums2“ STOS(11,„Black Swans and Wormhole Wizards“,1);INSERT INTO „Albums2“ STOS(12,'Somewhere in Time',7);INSERT INTO "Albums2" STOS(13,'Gig 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" STONS ('10','Летене в син сън','Джо Сатриани');ВМЕСЕТЕ В СТОЙНОСТИТЕ "Каталог"('11',' Black Swans and Wormhole Wizards','Joe Satriani');INSERT INTO "Catalog" VALUES('6','Out of the Loop','Mr Percival');INSERT INTO "Catalog" VALUES('7','Suck на това','Primus');INSERT INTO "Catalog" VALUES('8','Pork Soda','Primus');INSERT INTO "Catalog" VALUES('9','Sailing the Seas of Cheese',' Primus');CREATE TABLE Genres( GenreId INTEGER PRIMARY KEY, Genre TEXT NOT NULL);INSERT INTO "Genres" VALUES(1,'Rock');INSERT INTO "Genres" VALUES(2,'Country');INSERT INTO " Жанрове" СТОЙНОСТИ(3,'Поп');ВМЕСЕТЕ В СТОЙНОСТИТЕ "Жанрове"(4,'Комедия');ВМЕСЕТЕ В СТОЙНОСТИТЕ "Жанрове"(5,'Джаз');ВМЕСЕТЕ В СТОЙНОСТИТЕ "Жанрове"(6,'Блус) ');INSERT INTO "Ganres" VALUES(7,'Techno');COMMIT;

Копирайте файла

Горните методи ви позволяват да архивирате база данни от обвивката на командния ред на SQLite3.

Можете също да архивирате база данни, просто като копирате/поставите физическия файл във файловата система.

Ако не сте сигурни в местоположението на физическия файл, можете да използвате .databases команда за намиране на местоположението:

sqlite> .databasesseq файл с име --- --------------- ----------------------- ----------------------------------0 main /Users/quackit/sqlite/music.db 1 temp  

Така въоръжен с горните знания, вече мога да се придвижа до /Users/quackit/sqlite/ директория, копирайте music.db файл и го поставете на безопасно място.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. инициализирайте sqlite база данни за android

  2. Как да вкарате полето ForeignCollection в курсора в Ormlite

  3. SQLite Е NULL

  4. Какво да избера - JSON или SQLite?

  5. SQLite JSON_GROUP_OBJECT()