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';

使用 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
广告