从我阅读和搜索的所有内容来看,我认为答案是否定的,因为它从未被提及。但我从来没有看到明确的不。
Sqlite 是否允许像 Sql Server 中那样的架构,您可以拥有dbo。员工姓名?还是仅限于Employee.FirstName?
谢谢 - 戴夫
我不认为 sqlite 具有与其他一些数据库中的模式完全相同的概念,但您可以附加多个数据库并按名称对其进行操作。例如
$ 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
Run Code Online (Sandbox Code Playgroud)
上面我们只有1个数据库,它是默认数据库,不需要以数据库名称作为前缀。但是这个默认默认数据库的名称是main,所以我们可以这样做:
sqlite> select * from test1;
1
sqlite> select * from main.test1;
1
Run Code Online (Sandbox Code Playgroud)
我们可以附加另一个数据库,该数据库将在名称下可用myotherdb。
sqlite> attach database 'myotherdb' as 'myotherdb';
sqlite> create table myotherdb.test1 (id int); insert into myotherdb.test1 values (2);
Run Code Online (Sandbox Code Playgroud)
现在我们可以使用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
Run Code Online (Sandbox Code Playgroud)
请注意,这将创建 2 个不同的数据库文件
sqlite> .databases
main: /tmp/mydb1
myotherdb: /tmp/myotherdb
Run Code Online (Sandbox Code Playgroud)
这 2 个数据库文件可以稍后单独打开。
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |