从我阅读和搜索的所有内容来看,我认为答案是否定的,因为它从未被提及过。但我从未见过明确的否。
Sqlite是否允许像Sql Server这样的模式,你可以拥有 dbo。 Employee.FirstName?或者仅限于Employee.FirstName?
谢谢 - 戴夫
答案 0 :(得分:1)
我不认为sqlite与其他数据库中的模式具有完全相同的概念,但您可以附加多个数据库并按名称操作它们。 e.g。
$ sqlite3 mydb1
SQLite version 3.20.1 2017-08-24 16:21:36
sqlite> create table test1 (id int); insert into test1 values (1);
sqlite> .tables
test1
上面我们只有一个数据库,它是默认数据库,不需要以数据库名称作为前缀。但是,此默认默认数据库的名称为main
,因此我们可以执行以下操作:
sqlite> select * from test1;
1
sqlite> select * from main.test1;
1
我们可以附加另一个数据库,该数据库将以myotherdb
。
sqlite> attach database 'myotherdb' as 'myotherdb';
sqlite> create table myotherdb.test1 (id int); insert into myotherdb.test1 values (2);
现在我们可以使用myotherdb
来引用这个新数据库,没有前缀或main
前缀来引用第一个/默认数据库
sqlite> select * from myotherdb.test1 where myotherdb.test1.id > 0;
2
sqlite> select * from test1 where test1.id > 0;
1
sqlite> select * from main.test1 where main.test1.id > 0;
1
请注意,这将创建2个不同的数据库文件
sqlite> .databases
main: /tmp/mydb1
myotherdb: /tmp/myotherdb
以后可以单独打开这两个数据库文件。