首页 > 代码库 > sqlite学习笔记3:附加数据库和分离数据库

sqlite学习笔记3:附加数据库和分离数据库

在前面说了如果创建一个数据库,接下来我们需要操作数据库;

但是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数据库

分离当前数据对其他附加在这个文件上的数据库没有影响。