06/04/2021, 14:50

ìm hiểu ATTACH DATABASE trong SQLite - SQLite căn bản và nâng cao

Hãy xem xét một trường hợp khi bạn có sẵn nhiều cơ sở dữ liệu và bạn muốn sử dụng bất kỳ cơ sở dữ liệu nào tại một thời điểm. Câu lệnh ATTACH DATABASE trong SQLite được sử dụng để chọn một cơ sở dữ liệu cụ thể và sau lệnh này, tất cả các câu lệnh SQLite sẽ được thực thi trong cơ sở dữ liệu được ...

Hãy xem xét một trường hợp khi bạn có sẵn nhiều cơ sở dữ liệu và bạn muốn sử dụng bất kỳ cơ sở dữ liệu nào tại một thời điểm. Câu lệnh ATTACH DATABASE trong SQLite được sử dụng để chọn một cơ sở dữ liệu cụ thể và sau lệnh này, tất cả các câu lệnh SQLite sẽ được thực thi trong cơ sở dữ liệu được attach.

1. Cú pháp lệnh Attach Database trong SQLite

Sau đây là cú pháp cơ bản của câu lệnh ATTACH DATABASE trong SQLite.

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

Lệnh trên cũng sẽ tạo cơ sở dữ liệu trong trường hợp cơ sở dữ liệu chưa được tạo, nếu không, nó sẽ chỉ đính kèm tên file cơ sở dữ liệu với cơ sở dữ liệu 'Alias-Name'.

2. Ví dụ lệnh Attach Database trong SQLite

Nếu bạn muốn attach một cơ sở dữ liệu testDB.db đang tồn tại, thì câu lệnh ATTACH DATABASE sẽ như sau:

sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';

Sử dụng lệnh .database để hiển thị attach database.

sqlite> .database
name             file
---------------  ----------------------
main:              C:sqlite	estDB.db
TEST:             C:sqlite	estDB.db

Các cơ sở dữ liệu tên main và temp được dành riêng tương ứng cho một Primary Database và một Database để giữ các bảng tạm thời và các đối tượng dữ liệu tạm thời khác. Cả hai cơ sở dữ liệu tên này đều tồn tại cho mỗi kết nối Database và không nên được sử dụng để attach, nếu không thì bạn sẽ nhận một cảnh báo như sau:

sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP';
Error: database TEMP is already in use
sqlite> ATTACH DATABASE 'testDB.db' as 'main';
Error: database TEMP is already in use

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0