Saat menggunakan SQLite, Anda dapat menggunakan ATTACH DATABASE
pernyataan untuk menambahkan file database ke koneksi database saat ini.
Ketika Anda melakukan ini, Anda melampirkan nama file database dan memberikan nama untuk database. Jika file tersebut ada maka akan dilampirkan dengan nama pilihan Anda, jika tidak maka akan dibuat dan dilampirkan dengan nama pilihan Anda.
Contoh
ATTACH DATABASE 'Pets.db' AS Pets;
Contoh ini menyebabkan Pets.db
file database yang akan dilampirkan dan disebut Pets
.
Anda dapat menggunakan .databases
untuk memeriksa apakah itu telah dilampirkan.
.databases
Hasil:
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
Dalam hal ini, saya sebelumnya telah menambahkan database ini di bawah main
, jadi file database yang sama sekarang dilampirkan dengan dua nama yang berbeda.
Name adalah nama database yang digunakan secara internal oleh SQLite.
Melepaskan Basis Data
Anda dapat menggunakan DETACH DATABASE
untuk melepaskan database dari koneksi saat ini. Ini tidak menghapus file database, itu hanya menghapus database dari koneksi Anda.
DETACH DATABASE Pets;
Periksa lagi:
.databases
Hasil:
main: /Users/Shared/Pets.db
Perhatikan bahwa Anda tidak dapat melepaskan main
(atau temp
) database. Jika Anda mencoba melakukannya, kemungkinan Anda akan mendapatkan kesalahan ini:
sqlite> DETACH DATABASE main;
Error: cannot detach database main
Ekspresi
ATTACH DATABASE
sintaks menentukan bahwa nama file yang Anda berikan sebenarnya adalah ekspresi. Anda dapat memberikan nilai literal atau ekspresi.
Sintaks untuk ekspresi cukup rumit, dan diuraikan dalam dokumentasi SQLite jika Anda tertarik.