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

数据库名称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