在前面说了如果创建一个数据库,接下来我们需要操作数据库;
但是sqlite3命令一次只能操作一个数据库,如果当前路径下有多个数据库该怎么办呢?这就需要用到附加数据库。
一 关联数据库
附加数据库实际上就是告诉sqlite3,你写的SQL语句是操作的哪一个数据库。具体如何操作呢?
基本语法如下:
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
*sqlite3中的语句都需要以分好结束
使用上面的命名,如果数据库存在,将会被关联到‘Alias-Name’;如果不存在,将先创建’DataBaseName‘,然后关联。
所以,我们可以使用如下命令关联的到我们前面创建的数据库:
sqlite> ATTACH DATABASE 'MyDatabase.db' as 'TEST';
这时候使用命令:
.database
可以看到我看到多一个了’test‘数据库,跟我们的MyDataBase关联的是同一个文件。
#此时你还可以看到一个main数据库,main或temp数据库是不能用来关联的,否则会报错:database main/temp is already in use.
二 分离数据库
分离跟附加是一个相反的过程,基本语法如下:
DETACH DATABASE 'DataBaseName-Name';
#无法分离main或者temp数据库
分离当前数据对其他附加在这个文件上的数据库没有影响。