06/04/2021, 14:50

ì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

 

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0