400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
定义一个新的模式。
CREATE SCHEMA schema_name [AUTHORIZATION username]
[schema_element [ ... ]]
CREATE SCHEMA AUTHORIZATION rolename [schema_element [ ... ]]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION user_name ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_name
CREATE SCHEMA将新模式加入当前数据库。模式名称必须不同于当前数据库中任何现有模式的名称。
模式本质上是一个名称空间:它包含命名对象(表,数据类型,函数和运算符),其名称可能与其他模式中存在的其他对象的名称重复。通过使用模式名称作为前缀来限定其名称,或设置包含所需模式的搜索路径,可以访问命名对象。
(可选)CREATE SCHEMA可以包含子命令以在新模式中创建对象。 子命令与创建模式后发出的单独命令基本相同,不同之处在于,如果使用AUTHORIZATION子句,则所有创建的对象将归该角色所有。
schema_name
user_name
schema_element
IF NOT EXISTS
要创建模式,调用用户必须对当前数据库具有CREATE特权,或者必须是超级用户。
创建一个模式:
CREATE SCHEMA myschema;
为角色joe创建一个模式(该模式也将命名为joe):
CREATE SCHEMA AUTHORIZATION joe;
创建一个名为test的模式,该模式将由用户joe拥有,除非已经有一个名为test的模式。 (joe是否拥有预先存在的模式是没有影响的。)
CREATE SCHEMA IF NOT EXISTS test AUTHORIZATION joe;
SQL标准允许在CREATE SCHEMA中使用DEFAULT CHARACTER SET子句, 以及比 YMatrix 数据库目前接受的子命令类型更多的子命令类型。
SQL标准指定CREATE SCHEMA中的子命令可以按任何顺序出现。当前的 YMatrix 数据库实现并未处理子命令中所有前向引用的情况;有时可能需要对子命令重新排序,以避免前向引用。
根据SQL标准,模式的所有者始终拥有其中的所有对象。 YMatrix 数据库允许模式包含模式所有者以外的用户拥有的对象。仅当模式所有者将模式的CREATE特权授予其他人,或者超级用户选择在其中创建对象时,才会发生这种情况。
IF NOT EXISTS选项是 YMatrix 数据库扩展。