SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Đính kèm Cơ sở dữ liệu trong SQLite

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể cập nhật hàng trong Sqlite trong Android nhưng không gặp bất kỳ lỗi nào

  2. Hiển thị tiến trình trong khi doInbackground

  3. Chỉ truy vấn dữ liệu đầu tiên từ một bảng

  4. Tại sao tôi nhận được java.lang.IllegalArgumentException:giá trị ràng buộc tại chỉ mục 1 là null trong trường hợp này?

  5. 2 cách để trở lại ngày Julian trong SQLite