SQLite 附加数据库(ATTACH DATABASE)

考虑一种情况,当您有多个可用数据库并且想一次使用其中任何一个数据库时。SQLite ATTACH DATABASE语句用于选择特定的数据库,执行此命令后,所有SQLite语句将在附加数据库下执行。

语法

以下是SQLite ATTACH DATABASE语句的基本语法。

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

如果尚未创建数据库,上述命令还将创建一个数据库,否则它将仅将数据库文件名附加到逻辑数据库“别名”。

在线示例

如果要附加现有数据库testDB.db,则ATTACH DATABASE语句如下-

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

使用SQLite.database命令显示附加的数据库。

sqlite> .database
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db
2    test             /home/sqlite/testDB.db

数据库名称main和temp是为主数据库和保留临时表和其他临时数据对象的数据库保留的。 这两个数据库名称对于每个数据库连接都存在,并且不应用于附件,否则您将收到以下警告消息。

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