zoukankan      html  css  js  c++  java
  • CREATE SCHEMA

    SYNOPSIS

    CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ]
    CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]
    
    

    DESCRIPTION 描述

    CREATE SCHEMA 将在当前数据库里输入一个新的模式。 该模式名将在当前数据库里现存的所有模式名中唯一。


     模式实际上是一个名字空间: 它包含命名对象(表,数据类型,函数和操作符)这些名字可以和其它模式里存在的其它对象重名。 命名对象要么是通过用模式名作为前缀"修饰"这些它们的名字进行访问, 要么是通过设置一个搜索路径包含所需要的模式。 无修饰的对象都是在当前模式中创建的(在搜索路径最前面的;可以用函数 current_schema 来判断)。


     另外,CREATE SCHEMA 可以包括在新模式中创建对象的子命令。 这些子命令和那些在创建完模式后发出的命令没有任何区别,只不过是如果使用了 AUTHORIZATION 子句, 那么所有创建的对象都将被该用户拥有。

    PARAMETERS 参数

    schemaname

     要创建的模式名字。如果省略,则使用用户名作为模式名。
    username

     将拥有该模式的用户名。如果省略,缺省为执行该命令的用户名。 只有超级用户才能创建不属于自己的模式。
    schema_element

     一个 SQL 语句,定义一个要在模式里创建的对象。 目前,只有 CREATE TABLE,CREATE VIEW, 和 GRANT 是在 CREATE SCHEMA 里面可以接受的子句。 其它类型的对象可以在创建完模式之后的独立的命令里创建。

    NOTES 注意


     要创建模式,调用该命令的用户必需在当前数据库上有 CREATE 权限。(当然,超级用户绕开这个检查。)

    EXAMPLES 例子


     创建一个模式:

    CREATE SCHEMA myschema;
    
    


     为用户 joe 创建模式 --- 模式也会叫 joe:

    CREATE SCHEMA AUTHORIZATION joe;
    
    


     创建一个模式并且在里面创建一个表:

    CREATE SCHEMA hollywood
        CREATE TABLE films (title text, release date, awards text[])
        CREATE VIEW winners AS
            SELECT title, release FROM films WHERE awards IS NOT NULL;
    
    


     请注意上面的独立的子命令不是由分号结尾的。


     下面的命令是实现同样结果的等效语句:

    CREATE SCHEMA hollywood;
    CREATE TABLE hollywood.films (title text, release date, awards text[]);
    CREATE VIEW hollywood.winners AS
        SELECT title, release FROM hollywood.films WHERE awards IS NOT NULL;
    
  • 相关阅读:
    Maven 集成Tomcat插件
    dubbo 序列化 问题 属性值 丢失 ArrayList 解决
    docker 中安装 FastDFS 总结
    docker 从容器中拷文件到宿主机器中
    db2 相关命令
    Webphere WAS 启动
    CKEDITOR 4.6.X 版本 插件 弹出对话框 Dialog中 表格 Table 自定义样式Style 问题
    SpringMVC JSONP JSON支持
    CKEDITOR 3.4.2中 按钮事件中 动态改变图标和title 获取按钮
    git回退到远程某个版本
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11077570.html
Copyright © 2011-2022 走看看