SQLite - 附加数据库

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


语法

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

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

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


示例

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

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

Use SQLite .database command to display attached database.

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

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

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