假设这样一种情况,当在同一时间有多个数据库可用,您想使用其中的任何一个。SQLite 的 ATTACH DATABASE 语句是用来选择一个特定的数据库,使用该命令后,所有的 SQLite 语句将在附加的数据库下执行。
SQLite 的 ATTACH DATABASE 语句的基本语法如下:
ATTACH DATABASE file_name AS database_name;
如果数据库尚未被创建,上面的命令将创建一个数据库,如果数据库已存在,则把数据库文件名称与逻辑数据库 "Alias-Name" 绑定在一起。
打开的数据库和使用 ATTACH附加进来的数据库的必须位于同一文件夹下。
如果想附加一个现有的数据库 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 main is already in use;
HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。 WHERE 子句在所选列上设置条件,而 HAVING 子句则在...
Redis Brpoplpush 命令Redis 列表(List)Redis Brpoplpush 命令从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;...
Redis Lrem 命令Redis 列表(List)Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。COUNT 的值可以是以下几...
Redis Zinterstore 命令 Redis 有序集合(sorted set) Redis Zinterstore 命令计算给定的一个或多个有序集的交集,其中给定 key ...
Redis Pfadd 命令 Redis HyperLogLog Redis Pfadd 命令将所有元素参数添加到 HyperLogLog 数据结构中。语法 redis Pfadd 命令基...