暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

创建视图

SQL新手 2022-12-08
398

本文为您介绍如何创建普通视图。

语法

可以使用 CREATE VIEW 语句来创建视图。

create_view_stmt:
  CREATE [OR REPLACE] VIEW view_name [(column_name_list)] AS select_stmt;

column_name_list:
    column_name [, column_name ...]

参数解释

参数描述
OR REPLACE表示如果要创建的视图名称已存在,则使用新的定义重新创建视图。
view_name指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。
select_stmt指定创建视图的 SELECT 语句,指定了视图的定义。可用于查询多个基础表或源视图。
column_name_list视图必须具有唯一的列名,不得有重复,就像基表那样。默认情况下,由 SELECT 语句检索的列名将用作视图列名。要想为视图列定义明确的名称,可使用可选的 column_name_list 子句,列出由逗号隔开的 ID。column_name_list 中的名称数目必须等于 SELECT 语句检索的列数。SELECT 语句检索的列可以是对表列的简单引用。也可以是使用函数、常量值、操作符等的表达式。

示例

根据 t1 和 t2 两张表,创建两表关联查询视图 v 。

  1. 创建 t1 表。

    obclient> CREATE TABLE t1 (id1 int,name varchar(256),sex varchar(256));
    Query OK, 0 rows affected
    
  2. 创建 t2 表。

    obclient> CREATE TABLE t2 (id2 int,age int,date date);
    Query OK, 0 rows affected
    
  3. 创建视图 v 。

    obclient> CREATE VIEW v
                      AS
                      SELECT
                      id1 as id,name, date, age, sex
                      FROM t1 a, t2 b
                      WHERE a.id1 = b.id2;
    Query OK, 0 rows affected
    
  4. 查看视图 v

    obclient> DESC v;
    +-------+--------------+------+-----+---------+-------+
    | Field | Type         | Null | Key | Default | Extra |
    +-------+--------------+------+-----+---------+-------+
    | id    | int(11)      | YES  |     | NULL    |       |
    | name  | varchar(256) | YES  |     | NULL    |       |
    | date  | date         | YES  |     | NULL    |       |
    | age   | int(11)      | YES  |     | NULL    |       |
    | sex   | varchar(256) | YES  |     | NULL    |       |
    +-------+--------------+------+-----+---------+-------+
    5 rows in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论