CREATE VIEW语法

  1. CREATE VIEW [IF NOT EXISTS] [db_name.]view_name
  2. (column1[ COMMENT "col comment"][, column2, ...])
  3. AS query_stmt
  1. 视图为逻辑视图,没有物理存储。所有在视图上的查询相当于在视图对应的子查询上进行。
  2. query_stmt 为任意支持的 SQL

    CREATE VIEW举例

  3. 在 example_db 上创建视图 example_view

    1. CREATE VIEW example_db.example_view (k1, k2, k3, v1)
    2. AS
    3. SELECT c1 as k1, k2, k3, SUM(v1) FROM example_table
    4. WHERE k1 = 20160112 GROUP BY k1,k2,k3;
  4. 创建一个包含 comment 的 view

    1. CREATE VIEW example_db.example_view
    2. (
    3. k1 COMMENT "first key",
    4. k2 COMMENT "second key",
    5. k3 COMMENT "third key",
    6. v1 COMMENT "first value"
    7. )
    8. COMMENT "my first view"
    9. AS
    10. SELECT c1 as k1, k2, k3, SUM(v1) FROM example_table
    11. WHERE k1 = 20160112 GROUP BY k1,k2,k3;

    ALTER VIEW语法

    1. ALTER VIEW
    2. [db_name.]view_name
    3. (column1[ COMMENT "col comment"][, column2, ...])
    4. AS query_stmt
  5. 视图都是逻辑上的,其中的数据不会存储在物理介质上

  6. 在查询时视图将作为语句中的子查询,因此,修改视图的定义等价于修改query_stmt。
  7. query_stmt 为任意支持的 SQL

    ALTER VIEW举例

  8. 修改example_db上的视图example_view

    1. ALTER VIEW example_db.example_view
    2. (
    3. c1 COMMENT "column 1",
    4. c2 COMMENT "column 2",
    5. c3 COMMENT "column 3"
    6. )
    7. AS SELECT k1, k2, SUM(v1)
    8. FROM example_table
    9. GROUP BY k1, k2