Cara mencadangkan database SQLite ke file.
Ada beberapa cara untuk membuat cadangan database SQLite ke file.
- Gunakan
.backup
perintah. - Gunakan
.clone
perintah. - Gunakan
.dump
perintah. - Salin file pada sistem file.
.backup
Perintah
Perintah ini mencadangkan database ke file. Ia menerima alias database (yaitu database yang akan dicadangkan), dan nama file (untuk file cadangan).
Jika Anda menghilangkan alias database, itu akan menggunakan main
basis data.
Ini contohnya:
.backup mybackup.db
Ini akan membuat file bernama
backup.db
berisi backup database. Anda dapat melampirkan ini kembali ke shell baris perintah SQLite3 jika diperlukan (lalu lakukan .databases
untuk melihat daftar koneksi database):
sqlite> Lampirkan DATABASE 'mybackup.db' AS MyBackup;sqlite> .databasesseq nama file --- --------------- ----------- ------------------------------------------------------- 0 utama / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db
Dalam praktiknya, Anda mungkin akan membuat cadangan database ke lokasi yang berbeda. Oleh karena itu, Anda akan memberikan path file lengkap di .backup
memerintah. Misalnya, .backup /remote/folder/mybackup.db
.clone
Perintah
.clone
perintahnya mirip dengan .backup
memerintah. Namun, .clone
hanya menggunakan database saat ini, jadi Anda tidak dapat menentukan database lain untuk dikloning.
Untuk mengkloning database saat ini, ketik .clone
diikuti dengan nama file database untuk data kloning.
Seperti ini:
.clone myclone.db
Menjalankan yang terlihat seperti ini:
sqlite> .clone myclone.dbArtists... doneAlbums... doneAlbums2... doneCatalog... doneGenres... done
Anda dapat melampirkan database kloning seperti yang lain:
sqlite> Lampirkan DATABASE 'myclone.db' SEBAGAI MyClone;sqlite> .databasesseq nama file --- --------------- ----------- ------------------------------------------------------- 0 utama / Users/quackit/sqlite/music.db 1 temp 2 MyBackup /Users/quackit/sqlite/mybackup.db 3 MyClone /Users/quackit/sqlite/myclone.db
.dump
Perintah
Anda dapat menggunakan .dump
perintah untuk membuang database ke file ASCII. Misalnya, Anda dapat membuangnya ke file .sql yang berisi pernyataan SQL untuk menghasilkan database.
Buang seluruh DB
Contoh ini membuang music.db file ke music.sql .
sqlite3 music.db .dump> music.sql
Isi music.sql (menggulir diperlukan):
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,'Mr Percival',NULL);INSERT INTO "Artists" VALUES(7,'Iron Maiden',NULL);INSERT INTO "Artis" VALUES(8,'Atmasphere','Band jazz Australia berpusat di sekitar poliritme.');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,'Mothers of Invention',NULL);CREATE TABLE Albums( AlbumId INTEGER PRIMARY KEY, AlbumName TEXT NOT NULL, ReleaseDate TEKS, ArtistId INTEGER NOT NULL, FOREIGN KEY(ArtistId) REFERENSI Artis(ArtistId));INSERT INTO "Albums" VALUES(1,'Killers','1981',7);INSERT INTO "Albums" VALUES(2,'Powerslave ','1984',7);MASUKKAN KE NILAI "Album"(3,'Berselancar dengan Alien','1987',1);MASUKKAN KE NILAI "Album"(4,'Berat seperti Benda yang Sangat Berat', '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" VALUES(8,'Pork Soda','1993',13);INSERT INTO "Albums" VALUES(9,'Sailing the Seas of Cheese','1991',13);INSERT INTO " Album" 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);CREATE TABLE Albums2( AlbumId INT, AlbumName TEXT, ArtistId INT);INSERT INTO "Albums2" VALUES(1,'Killers',7);INSERT INTO " Albums2" VALUES(2,'Powerslave',7);INSERT INTO "Albums2" VALUES(3,'Surfing with the Alien',1);INSERT INTO "A lbums2" VALUES(4,'Berat seperti Benda yang Sangat Berat',11);INSERT INTO "Albums2" VALUES(5,'Yummy Yummy',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,'Pork Soda',13);INSERT INTO "Albums2" VALUES(9,'Sailing the Seas of Cheese',13);INSERT INTO "Albums2" VALUES(10,'Flying in a Blue Dream',1);INSERT INTO "Albums2" VALUES(11,'Black Swans and Wormhole Wizards',1);INSERT INTO "Albums2" VALUES(12,'Somewhere in Time',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','Terbang dalam Mimpi Biru','Joe Satriani');MASUKKAN KE NILAI "Katalog"('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 on This','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 " Genres" VALUES(3,'Pop');INSERT INTO "Genres" VALUES(4,'Comedy');INSERT INTO "Genres" VALUES(5,'Jazz');INSERT INTO "Genres" VALUES(6,'Blues ');INSERT INTO "Genres" VALUES(7,'Techno');COMMIT;
Salin File
Metode di atas memungkinkan Anda untuk membuat cadangan database dari dalam shell baris perintah SQLite3.
Anda juga dapat membuat cadangan database hanya dengan menyalin/menempelkan file fisik pada sistem file.
Jika Anda tidak yakin dengan lokasi file fisik, Anda dapat menggunakan .databases
perintah untuk menemukan lokasi:
sqlite> .file nama databaseseq --- --------------- ----------------------- -----------------------------------0 main /Users/quackit/sqlite/music.db 1 tempJadi berbekal pengetahuan di atas, sekarang saya dapat menavigasi ke /Users/quackit/sqlite/ direktori, salin music.db file, dan tempel ke lokasi yang aman.