---
title: "创建视图 | OceanBase 文档中心"
description: "创建视图 您可以使用 CREATE VIEW 语句来创建视图。本文为您介绍如何创建普通视图。 语法 可以使用 CREATE VIEW 语句来创建视图。 create_view_stmt: CREATE [OR REPLACE] [[NO] FORCE] VIEW view_name [(column_name_lis…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 创建视图

更新时间：2023-07-18 17:25:58

您可以使用 `CREATE VIEW` 语句来创建视图。本文为您介绍如何创建普通视图。

## 语法

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

```sql
create_view_stmt:
  CREATE [OR REPLACE] [[NO] FORCE] VIEW view_name [(column_name_list)] AS select_stmt;

column_name_list:
    column_name [, column_name ...]

```

### 参数解释

| 参数 | 描述 |
| --- | --- |
| OR REPLACE | 表示如果要创建的视图名称已存在，则使用新的定义重新创建视图。 |
| [NO] FORCE | 如果在创建视图时，不考虑该视图是否存在基表或存在引用的对象类型，以及视图所在 Schema 的所有者是否具有权限，请指定 `FORCE`。如果只在基表存在且视图所在 Schema 所有者具有权限时才创建视图，请指定 `NOFORCE`。`NOFORCE` 是默认设置。 |
| view_name | 视图名。指定视图的名称。该名称在数据库中必须是唯一的，不能与其他表或视图同名。 |
| select_stmt | 指定创建视图的 `SELECT` 语句，可用于查询多个基础表或源视图。 |
| column_name_list | 视图必须具有唯一的列名，不得有重复，就像基表那样。默认情况下，由 `SELECT` 语句检索的列名将用作视图列名。要想为视图列定义明确的名称，可使用可选的 `column_name_list` 子句，ID 之间使用逗号分隔。`column_name_list` 中的名称数目必须等于 `SELECT`语句检索的列数。`SELECT` 语句检索的列可以是对表列的简单引用。也可以是使用函数、常量值、运算符等的表达式。 |

## 示例

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

1. 创建 `t1` 表。

   ```sql
   obclient> CREATE TABLE t1 (id1 int,name varchar(256),sex varchar(256));
   Query OK, 0 rows affected

   ```
 2. 创建 `t2` 表。

   ```sql
   obclient> CREATE TABLE t2 (id2 int,age int,c_date date);
   Query OK, 0 rows affected

   ```
 3. 创建视图 `v`，可以得到 `t1` 表与 `t2` 表中 `ID` 相匹配的 `NAME`、`C_DATE`、`AGE`、`SEX` 信息。

   ```sql
   obclient> CREATE VIEW v
                     AS
                     SELECT
                     id1 as id,name, c_date, age, sex
                     FROM t1 a, t2 b
                     WHERE a.id1 = b.id2;
   Query OK, 0 rows affected

   ```
 4. 查看视图 `v`。

   ```sql
   obclient> DESC v;
   +--------+---------------+------+-----+---------+-------+
   | FIELD  | TYPE          | NULL | KEY | DEFAULT | EXTRA |
   +--------+---------------+------+-----+---------+-------+
   | ID     | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | NAME   | VARCHAR2(256) | YES  | NULL | NULL    | NULL  |
   | C_DATE | DATE          | YES  | NULL | NULL    | NULL  |
   | AGE    | NUMBER(38)    | YES  | NULL | NULL    | NULL  |
   | SEX    | VARCHAR2(256) | YES  | NULL | NULL    | NULL  |
   +--------+---------------+------+-----+---------+-------+
   5 rows in set

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
