CREATE VIEW

本命令用于基于对一个或多个现有表的查询结果,在当前或指定的 SCHEMA 中创建一个新的视图。视图是一种虚拟表,它提供了对查询结果的访问,而无需直接操作底层数据表。

语法

CREATE [ OR REPLACE ] VIEW [ IF NOT EXISTS ] [schema_name.]view_name [ (column_name comment '' [, ...]) ] [ COMMENT 'comment' ] AS query;

参数说明

  • OR REPLACE:此选项用于替换任何同名的已存在视图(如果存在)。需要注意的是,它不能与
    IF NOT EXISTS
    IF NOT EXISTS
    选项同时使用。使用此选项相当于先对现有的视图执行
    DROP VIEW
    DROP VIEW
    操作,然后创建一个具有相同名称的新视图。
  • column_name:指定新视图中的列名称。如果需要为新视图中的列指定别名或添加注释,可以使用此参数。
  • COMMENT:为新创建的视图添加注释信息。这有助于其他用户了解视图的用途和结构。
  • query:用于生成视图内容的 SQL 查询语句。

使用示例

  1. 创建一个名为
    myview
    myview
    的视图,包含来自
    mytable
    mytable
    表的
    col1
    col1
    col2
    col2
    列:

CREATE VIEW myview AS SELECT col1, col2 FROM mytable;

  1. 创建一个名为
    myview
    myview
    的视图,并为其指定列别名和注释:

CREATE VIEW myview (col1_alias comment 'col1_alias', col2_alias comment 'col2_alias') COMMENT 'This is my view with aliased columns' AS SELECT col1 AS col1_alias, col2 AS col2_alias FROM mytable;

  1. 创建一个名为
    myview
    myview
    的视图,只包含满足特定条件的记录:

CREATE VIEW myview AS SELECT col1, col2, col3 FROM mytable WHERE col1 > 100;

  1. 使用
    OR REPLACE
    OR REPLACE
    选项替换已存在的同名视图:

CREATE OR REPLACE VIEW myview AS SELECT col1, col2, col4 FROM mytable;

  1. 在指定的 SCHEMA 中创建视图:

CREATE VIEW schema_name.myview AS SELECT col1, col2 FROM schema_name.mytable;

联系我们
预约咨询
微信咨询
电话咨询