SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Ekspor Seluruh Database SQLite ke File SQL

Baris perintah SQLite menyediakan beberapa metode untuk mengekspor atau mencadangkan seluruh database. Salah satunya melibatkan .dump perintah titik.

.dump perintah memungkinkan Anda untuk mengkonversi seluruh database ke file teks ASCII tunggal. Dengan kata lain, itu membuat seluruh database sebagai SQL. File teks berisi semua pernyataan SQL yang diperlukan untuk membuat tabel, menyisipkan data, dll.

Anda juga dapat menggunakan .dump untuk membuat file terkompresi. Saya menguraikan kedua metode ini di bawah ini.

Ekspor sebagai SQL

Anda dapat menggunakan .dump dalam hubungannya dengan .output atau .once untuk mengekspor seluruh database ke file .sql.

File ini akan berisi semua pernyataan SQL yang diperlukan untuk merekonstruksi database (termasuk membuat semua tabel, memasukkan semua data, dll).

Ini contohnya:

.once Store.sql
.dump

Dalam hal ini saya menggunakan .once memerintah. Ini hanya mengarahkan hasil dari perintah berikutnya atau pernyataan SQL ke dalam file yang ditentukan.

Dalam hal ini, perintah selanjutnya adalah .dump perintah dot, yang secara default, membuat semua konten database sebagai SQL.

Anda juga dapat menggunakan .output , tetapi ini akan mengarahkan hasil semua perintah masa depan/pernyataan SQL ke dalam file. Ini dapat menimbulkan konsekuensi yang tidak diinginkan jika Anda tidak berhati-hati.

Pulihkan Basis Data

Setelah Anda membuat file cadangan .sql, Anda dapat merekonstruksi seluruh database hanya dengan membaca file tersebut dari dalam SQLite.

Misalnya, Anda dapat terhubung ke SQLite saat menentukan file database baru (yang belum ada):

sqlite3 Store2.db

Dengan menentukan file database yang tidak ada, SQLite akan membuat database kosong.

Sekarang Anda berada di SQLite, Anda dapat membaca konten file cadangan:

.read Store.sql

Itu saja. Basis data telah direkonstruksi dari file .sql. Semua tabel telah dibuat dan semua data telah dimasukkan.

Buat File Terkompresi

Jika database Anda besar dan berisi banyak data, Anda mungkin lebih baik membuat file cadangan terkompresi.

Ini contohnya:

sqlite3 Store .dump | gzip -c >Store.dump.gz

Perhatikan bahwa ini dijalankan di luar SQLite. Dengan kata lain, saya tidak terhubung ke SQLite sebelum menjalankan perintah ini. Saya cukup membuka jendela terminal baru dan menjalankan perintah itu.

Sebenarnya, saya menavigasi ke folder cadangan terlebih dahulu. Jika Anda tidak melakukannya, Anda harus menyertakan jalur dalam file cadangan.

Anda dapat merekonstruksi database dengan zcat . zcat utilitas memungkinkan Anda untuk melihat konten file terkompresi tanpa benar-benar membuka kompresinya.

Jadi file yang dibuat pada contoh sebelumnya dapat direkonstruksi menggunakan zcat utilitas.

zcat Store.dump.gz | sqlite3 Store2

Ini mungkin atau mungkin tidak bekerja tergantung pada sistem Anda. Jika ini tidak berhasil, Anda mungkin perlu menggunakan utilitas kompresi yang berbeda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara yang benar untuk menangani Bi directional 1:m di Green-DAO

  2. SQLiteException tidak ada tabel seperti itu:ItemTable saat kompilasi:Select_id,.... dari ItemTable

  3. java.lang.IllegalStateException:Tidak dapat membaca baris 0, col -1 dari CursorWindow - Masalah sqlite Android

  4. Pustaka Ruang Android gagal menyalin basis data dari Aset

  5. SQLite Python