ìm hiểu DETACH Database trong SQLite - SQLite căn bản và nâng cao
Câu lệnh DETACH DATABASE trong SQLite được sử dụng để detach và phân tách một cơ sở dữ liệu từ một kết nối database mà đã được attach trước đó với lệnh ATTACH. Nếu cùng một cơ sở dữ liệu đã được đính kèm với nhiều bí danh, thì lệnh DETACH chỉ ngắt kết nối tên đã cung cấp và ...
Câu lệnh DETACH DATABASE
trong SQLite
được sử dụng để detach và phân tách một cơ sở dữ liệu từ một kết nối database mà đã được attach trước đó với lệnh ATTACH
. Nếu cùng một cơ sở dữ liệu đã được đính kèm với nhiều bí danh, thì lệnh DETACH
chỉ ngắt kết nối tên đã cung cấp và phần còn lại sẽ được giữ nguyên. Bạn không thể detach cơ sở dữ liệu main hoặc temp.
Nếu cơ sở dữ liệu là cơ sở dữ liệu trong bộ nhớ hoặc tạm thời, cơ sở dữ liệu sẽ bị hủy và nội dung sẽ bị mất.
1. Cú pháp lệnh DETACH trong SQLite
Sau đây là cú pháp cơ bản của câu lệnh DETACH DATABASE
'Alias-Name' trong SQLite
.
DETACH DATABASE 'Alias-Name';
Ở đây, 'Alias-Name' là cùng một bí danh mà bạn đã sử dụng trong khi đính kèm cơ sở dữ liệu bằng cách sử dụng câu lệnh ATTACH
.
2. Ví dụ lệnh DETACH trong SQLite
Giã sử bạn có một cơ sở dữ liệu mà bạn đã tạo trong bài trước (attact database trong SQLite) và đính kèm nó với 'test' và 'currentDB' như chúng ta có thể thấy bằng cách sử dụng lệnh .database
.
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db
Chúng ta hãy thử detach 'currentDB' khỏi testDB.db
bằng lệnh sau:
sqlite> DETACH DATABASE 'currentDB';
Bây giờ, nếu bạn sẽ kiểm tra file đính kèm hiện tại, bạn sẽ thấy testDB.db
vẫn được kết nối với 'test' và 'main'.
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db