Khi sử dụng SQLite, bạn có thể sử dụng ATTACH DATABASE
câu lệnh để thêm tệp cơ sở dữ liệu vào kết nối cơ sở dữ liệu hiện tại.
Khi bạn thực hiện việc này, bạn đính kèm tên tệp cơ sở dữ liệu và cung cấp tên cho cơ sở dữ liệu. Nếu tệp tồn tại, tệp sẽ được đính kèm với tên bạn đã chọn, nếu không, tệp sẽ được tạo và đính kèm với tên bạn đã chọn.
Ví dụ
ATTACH DATABASE 'Pets.db' AS Pets;
Ví dụ này gây ra Pets.db
tệp cơ sở dữ liệu sẽ được đính kèm và được gọi là Pets
.
Bạn có thể sử dụng .databases
để kiểm tra xem nó đã được đính kèm chưa.
.databases
Kết quả:
main: /Users/Shared/Pets.db Pets: /Users/Shared/Pets.db
Trong trường hợp này, trước đây tôi đã thêm cơ sở dữ liệu này trong main
, vì vậy cùng một tệp cơ sở dữ liệu hiện được đính kèm dưới hai tên khác nhau.
Tên là tên của cơ sở dữ liệu được SQLite sử dụng nội bộ.
Tách cơ sở dữ liệu
Bạn có thể sử dụng DETACH DATABASE
để tách cơ sở dữ liệu khỏi kết nối hiện tại. Thao tác này không xóa tệp cơ sở dữ liệu mà chỉ xóa cơ sở dữ liệu khỏi kết nối của bạn.
DETACH DATABASE Pets;
Kiểm tra lại:
.databases
Kết quả:
main: /Users/Shared/Pets.db
Lưu ý rằng bạn không thể tách main
(hoặc temp
) cơ sở dữ liệu. Nếu bạn cố gắng làm điều đó, bạn sẽ có thể gặp phải lỗi này:
sqlite> DETACH DATABASE main;
Error: cannot detach database main
Biểu thức
ATTACH DATABASE
cú pháp chỉ định rằng tên tệp bạn cung cấp thực sự là một biểu thức. Bạn có thể cung cấp một giá trị chữ hoặc một biểu thức.
Cú pháp cho các biểu thức khá phức tạp và được nêu trong tài liệu SQLite nếu bạn quan tâm.