精华内容
下载资源
问答
  • 创建视图语句
    千次阅读
    2021-01-28 10:22:32

    一.创建视图语句

    craete view t as select * from b;

    查看视图信息

    desc t;

    show table status like 't'  \G;

    查看视图详细信息

    show create view '视图名'  \G;

    二.在views中查看视图详细信息

    select * from  information_schema.views;

    当基本表发生变化时,通过修改视图来保持基本表的一致性

    create or replace view t as select * from t;

    alter view t as select  quantity from t;

    当视图包含以下内容时,视图的更新操作将不执行

    (1)视图中不包含基表中被定义非空的列

    (2)在定义的视图的select语句后的字段列表中使用了数字表达式

    (3)在定义视图中的select语句使用了聚合函数

    (4)在定义视图中的select语句使用了distinct,union,top,groupby,或having子句

    三.mysql中视图与表的区别及关系是什么

    (1)视图是以编译好的SQL语句。是基于SQL语句的结果集的可视化表,而表不是

    (2)视图是没有物理记录,而表有

    (3)表是内容,视图是窗口

    (4)表占用物理空间而视图不占用物理空间,视图只是逻辑概念存在,表可以及时他进行修改,但视图只能创建的语句来修改

    (5)视图是查看数据表的一种方法。可以查询数据表中某些字段的数据,只是一些SQL语句的集合,从安全的角度来看,视图防止用户接触数据表,因此用户不知道表结构

    (6)表是全局模式的表,是实表;视图属于局域中的表,是虚表

    (7)视图的建立和删除只是删除视图本身,不影响对应的基本表

    更多相关内容
  • MySQL如何创建视图

    2021-01-19 21:47:29
    可以使用 CREATE VIEW 语句创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 ...
  • SQL SERVER中先判断视图是否存在,使用IF NOT EXISTS,然后再创建视图,使用create view,整个过程如下
  • MySQL中,在两个或者以上的基本表上创建视图 在student表和stu_info表上,创建stu_class视图,查询出s_id号、姓名和班级 首先,创建stu_info表,并向表中插入数据 查看表中的数据 创建stu_class视图 查看视图 ...
  • 本文实例讲述了mysql视图之创建视图(CREATE VIEW)和使用限制。分享给大家供大家参考,具体如下: mysql5.x 版本之后支持数据库视图,在mysql中,视图的几乎特征符合SQL:2003标准。 mysql以两种方式处理对视图的...
  • 基本语法可以使用 CREATE VIEW 语句创建视图。语法格式如下:CREATE VIEW AS 语法说明如下。:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。:指定创建视图的 SELECT 语句,可用于查询...

    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。

    基本语法

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

    语法格式如下:

    CREATE VIEW AS

    语法说明如下。

    :指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。

    :指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。

    对于创建视图中的 SELECT 语句的指定存在以下限制:

    用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。

    SELECT 语句不能引用系统或用户变量。

    SELECT 语句不能包含 FROM 子句中的子查询。

    SELECT 语句不能引用预处理语句参数。

    视图定义中引用的表或视图必须存在。但是,创建完视图后,可以删除定义引用的表或视图。可使用 CHECK TABLE 语句检查视图定义是否存在这类问题。

    视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。

    视图定义中不能引用 TEMPORARY 表(临时表),不能创建 TEMPORARY 视图。

    WITH CHECK OPTION 的意思是,修改视图时,检查插入的数据是否符合 WHERE 设置的条件。

    创建基于单表的视图

    MySQL 可以在单个数据表上创建视图。

    查看 test_db 数据库中的 tb_students_info 表的数据,如下所示。

    mysql> SELECT * FROM tb_students_info;

    +----+--------+---------+------+------+--------+------------+

    | id | name | dept_id | age | sex | height | login_date |

    +----+--------+---------+------+------+--------+------------+

    | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 |

    | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 |

    | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 |

    | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 |

    | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 |

    | 6 | John | 2 | 21 | M | 172 | 2015-11-11 |

    | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 |

    | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 |

    | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 |

    | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |

    +----+--------+---------+------+------+--------+------------+

    10 rows in set (0.00 sec)

    【实例 1】在 tb_students_info 表上创建一个名为 view_students_info 的视图,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW view_students_info

    -> AS SELECT * FROM tb_students_info;

    Query OK, 0 rows affected (0.00 sec)

    mysql> SELECT * FROM view_students_info;

    +----+--------+---------+------+------+--------+------------+

    | id | name | dept_id | age | sex | height | login_date |

    +----+--------+---------+------+------+--------+------------+

    | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 |

    | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 |

    | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 |

    | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 |

    | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 |

    | 6 | John | 2 | 21 | M | 172 | 2015-11-11 |

    | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 |

    | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 |

    | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 |

    | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |

    +----+--------+---------+------+------+--------+------------+

    10 rows in set (0.04 sec)

    默认情况下,创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。

    【实例 2】在 tb_students_info 表上创建一个名为 v_students_info 的视图,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW v_students_info

    -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date)

    -> AS SELECT id,name,dept_id,age,sex,height,login_date

    -> FROM tb_students_info;

    Query OK, 0 rows affected (0.06 sec)

    mysql> SELECT * FROM v_students_info;

    +------+--------+------+-------+-------+----------+------------+

    | s_id | s_name | d_id | s_age | s_sex | s_height | s_date |

    +------+--------+------+-------+-------+----------+------------+

    | 1 | Dany | 1 | 24 | F | 160 | 2015-09-10 |

    | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 |

    | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 |

    | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 |

    | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 |

    | 6 | John | 2 | 21 | M | 172 | 2015-11-11 |

    | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 |

    | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 |

    | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 |

    | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |

    +------+--------+------+-------+-------+----------+------------+

    10 rows in set (0.01 sec)

    可以看到,view_students_info 和 v_students_info 两个视图中的字段名称不同,但是数据却相同。因此,在使用视图时,可能用户不需要了解基本表的结构,更接触不到实际表中的数据,从而保证了数据库的安全。

    创建基于多表的视图

    MySQL 中也可以在两个以上的表中创建视图,使用 CREATE VIEW 语句创建。

    【实例 3】在表 tb_student_info 和表 tb_departments 上创建视图 v_students_info,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW v_students_info

    -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date)

    -> AS SELECT id,name,dept_id,age,sex,height,login_date

    -> FROM tb_students_info;

    Query OK, 0 rows affected (0.06 sec)

    mysql> SELECT * FROM v_students_info;

    +------+--------+------+-------+-------+----------+------------+

    | s_id | s_name | d_id | s_age | s_sex | s_height | s_date |

    +------+--------+------+-------+-------+----------+------------+

    | 1 | Dany | 1 | 24 | F | 160 | 2015-09-10 |

    | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 |

    | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 |

    | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 |

    | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 |

    | 6 | John | 2 | 21 | M | 172 | 2015-11-11 |

    | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 |

    | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 |

    | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 |

    | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 |

    +------+--------+------+-------+-------+----------+------------+

    10 rows in set (0.01 sec)

    通过这个视图可以很好地保护基本表中的数据。视图中包含 s_id、s_name 和 dept_name,s_id 字段对应 tb_students_info 表中的 id 字段,s_name 字段对应 tb_students_info 表中的 name 字段,dept_name 字段对应 tb_departments 表中的 dept_name 字段。

    展开全文
  • 求Oracle创建视图有关语句

    千次阅读 2021-05-03 03:18:26
    求Oracle创建视图相关语句通过表创建视图,想让视图里面其中一个列数据=a时,让其=b,数据=c时,让其=d。我用的case..when。但是执行不成功,代码如下createorreplaceviewyuebaohejiasselectSUBSTR(iufo_measure_...

    求Oracle创建视图相关语句

    通过表创建视图,想让视图里面其中一个列数据=a时,让其=b,数据=c时,让其=d。我用的case..when。但是执行不成功,

    代码如下create or replace view yuebaoheji as

    select  SUBSTR(iufo_measure_pubdata.time_code,1,4) as kjnd, SUBSTR(iufo_measure_pubdata.time_code,1,4)||SUBSTR(iufo_measure_pubdata.time_code,9,2) as kjqj,

    case when (iufo_unit_info.unit_id='37000011') then iufo_unit_info.unit_id='37000111',

    iufo_unit_info.unit_name , iufo_measure_data_duz9rms7.m10001 as hejishouru, iufo_measure_data_duz9rms7.m10002 ,

    iufo_measure_data_duz9rms7.m10006 , iufo_measure_data_duz9rms7.m10010 , iufo_measure_data_duz9rms7.m10011 ,

    iufo_measure_data_duz9rms7.m10013 as qyqtxjcz, iufo_measure_data_duz9rms7.m10015 , iufo_measure_data_duz9rms7.m10019 ,

    iufo_measure_data_duz9rms7.m10020 , iufo_measure_data_duz9rms7.m10022 , iufo_measure_data_duz9rms7.m10023 ,

    iufo_measure_data_duz9rms7.m10027 , iufo_measure_data_duz9rms7.m10028 , iufo_measure_data_duz9rms7.m10030 ,

    iufo_measure_data_duz9rms7.m10032 , iufo_measure_data_duz9rms7.m10036 , iufo_measure_data_duz9rms7.m10037 ,

    iufo_measure_data_duz9rms7.m10039 , iufo_measure_data_duz9rms7.m10041 , iufo_measure_data_duz9rms7.m10045 ,

    iufo_measure_data_duz9rms7.m10046 , iufo_measure_data_duz9rms7.m10048 , iufo_measure_data_duz9rms7.m10049 ,

    iufo_measure_data_duz9rms7.m10053 , iufo_measure_data_duz9rms7.m10054 , iufo_measure_data_duz9rms7.m10230 ,

    iufo_measure_data_duz9rms7.m10056 , iufo_measure_data_duz9rms7.m10060 , iufo_measure_data_duz9rms7.m10061 ,

    iufo_measure_data_duz9rms7.m10063 , iufo_measure_data_duz9rms7.m10065 , iufo_measure_data_duz9rms7.m10069 ,

    iufo_measure_data_duz9rms7.m10070 , iufo_measure_data_duz9rms7.m10071 , iufo_measure_data_duz9rms7.m10073 ,

    iufo_measure_data_duz9rms7.m10077 , iufo_measure_data_duz9rms7.m10078 , iufo_measure_data_duz9rms7.m10079 ,

    iufo_measure_data_duz9rms7.m10081 , iufo_measure_data_6urszruw.m10001 , iufo_measure_data_6urszruw.m10013

    from iufo_unit_info,iufo_measure_data_6urszruw,iufo_measure_pubdata,iufo_measure_data_duz9rms7

    where iufo_measure_data_6urszruw.alone_id = iufo_measure_pubdata.alone_id

    and iufo_measure_data_duz9rms7.alone_id = iufo_measure_pubdata.alone_id

    and iufo_measure_data_6urszruw.line_no = iufo_measure_data_duz9rms7.line_no   and iufo_unit_info.unit_id = iufo_measure_pubdata.code

    and (iufo_unit_info.level_code like 'i%' )

    and iufo_measure_pubdata.ver=0 and iufo_measure_pubdata.formula_id is null;][/code]

    ------解决思路----------------------

    引用:case when (iufo_unit_info.unit_id='37000011') then iufo_unit_info.unit_id='37000111',,除了我写的这句case。。when,不对,其他可以正常执行

    create or replace view yuebaoheji as

    select SUBSTR(iufo_measure_pubdata.time_code, 1, 4) as kjnd,

    SUBSTR(iufo_measure_pubdata.time_code, 1, 4)

    ------解决思路----------------------

    SUBSTR(iufo_measure_pubdata.time_code, 9, 2) as kjqj,

    case

    when (iufo_unit_info.unit_id = '37000011') then

    '37000111'

    ELSE

    iufo_unit_info.unit_id

    END unit_id,

    iufo_unit_info.unit_name,

    iufo_measure_data_duz9rms7.m10001 as hejishouru,

    iufo_measure_data_duz9rms7.m10002,

    iufo_measure_data_duz9rms7.m10006,

    iufo_measure_data_duz9rms7.m10010,

    iufo_measure_data_duz9rms7.m10011,

    iufo_measure_data_duz9rms7.m10013 as qyqtxjcz,

    iufo_measure_data_duz9rms7.m10015,

    iufo_measure_data_duz9rms7.m10019,

    iufo_measure_data_duz9rms7.m10020,

    iufo_measure_data_duz9rms7.m10022,

    展开全文
  • 在PL/SQL Developer数据库管理工具中,使用SCOTT用户帐号进行登录,新建SQL查询窗口,输入一条创建视图的SQL语句,随后弹出一个错误的提示信息:ORA-01031:权限不足。 上图所示的错误提示信息已经说的很明白了,这...
  • 查询视图的sql语句(mysql创建视图sql语句)2020-07-24 12:07:14共10个回答两种方式,一种是直接在sqlserver的列表中找到,另一种用写语句的方式查询.方法一:1、登陆sqlservermanagerstudio.2、在左边的树找到自己要查询...

    查询视图的sql语句(mysql创建视图sql语句)

    2020-07-24 12:07:14

    共10个回答

    两种方式,一种是直接在sqlserver的列表中找到,另一种用写语句的方式查询.方法一:1、登陆sqlservermanagerstudio.2、在左边的树找到自己要查询的数据库.如图:3、点击“表”,就能看到这个库中的所有表了.方法二:1、登陆sqlservermanagerstudio.2、点击左上角的“新建查询”.3、在窗口中编写sql语句如下,然后运行1selectnamefromsysobjectswherextype='u'orderbyname结果截图:

    33fe8bfaec8c9b1db1e6cbacd31e2a4e.png

    如果你是使用者那是看不到代码的如果你是开发者在recordset和connection附近很容易就能找到对应的sql语句

    137aa1570818c7c28d76772138768d23.png

    SELECTnameAS视图名,textAS视图定义FROMsys.objectsJOINsys.syscommentsONsys.objects.object_id=sys.syscomments.idWHEREtype='V'ORDERBYname

    展开全文
  • oracle查询创建视图语句

    万次阅读 2019-02-14 10:01:30
    select view_name,text from user_views;      此处文章 转载等 https://blog.csdn.net/zhou920786312/article/details/72841143
  • oracle 创建视图

    2021-05-01 03:39:13
    1,视图概念:视图是一个逻辑结构,本身...2,创建视图需要有DBA权限。3,语法:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[,alias]..)]AS subquery;4,create or replace 表示若视图存在则替换掉;如:...
  • MySQL创建视图的语法格式

    千次阅读 2021-01-18 19:08:32
    视图,具有简化查询语句、安全性和保证逻辑数据独立性等作用创建视图的语法格式视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可以建立在多张表上...
  • Sql server中 如何用sql语句创建视图

    千次阅读 2021-04-06 17:58:23
    有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视 图,以后他在查询数据时,只需select * from view_caigou 就 可以啦。 第二点:使用视图,可以简化数据操作。 解释:我们在使用查询时,在很...
  • 一、什么是视图视图是基于SELECT 语句的结果集的可视化的表。在 SQL 中,一个视图是基于某个 SELECT 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的域就是来自一个或多个数据库中的真实的表...
  • SQL相关资料
  • oracle视图(oracle创建视图的sql语句)

    千次阅读 2021-03-16 23:07:47
    oracle视图要建立bai视图首先你要有权限,登录dusys把视zhi图权限给你操作的dao数据库grantcreateviewto你使用的数zhuan据库名然后在创建视图比如shucreateorreplaceviewv_menu_pop(视图名)as(selectt.menuid,t....
  • SQL语句之数据库之创建视图

    千次阅读 2021-03-31 23:15:58
    MySQL之创建视图
  • MySQL数据库创建视图

    千次阅读 2021-01-18 19:16:12
    我有以下几张表:-------image表--------org表-----------user表---------album表----我要将以上四张表关联,可以用sql的join连接语句,但是会很麻烦,现在在mysql中创建一个视图会很方便的解决这四个表连接...
  • 在本教程中,您将学习如何使用CREATE VIEW语句在MySQL中创建视图。CREATE VIEW语句简介要在MySQL中创建新视图,请使用CREATE VIEW语句。 在MySQL中创建视图的语法如下:CREATE[ALGORITHM = {MERGE | TEMPTABLE | ...
  • 创建视图SQL:在SQL Server中创建视图

    万次阅读 2020-07-17 13:42:32
    在本文中,我们将了解如何使用CREATE VIEW SQL语句创建视图。 这是本系列的第一篇文章,它将是使用T-SQL创建,更改和使用视图的编程方法。 如果您是初学者,甚至不知道视图是什么,请不要担心。 我们将从定义开始,...
  • 数据库创建/删除视图语句

    千次阅读 2020-10-29 15:34:49
    1、创建视图语句: CREATE OR REPLACE VIEW viewName(视图名) AS SELECT * FROM table(表名) 解释: OR REPLACE :若所创建的试图已经存在,则替换旧视图 2、删除语句: drop view viewName 3、查询原有视图,...
  • SQL篇-创建视图

    千次阅读 2021-05-16 17:19:57
    可以使用 CREATE VIEW 语句创建视图,语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下: <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或...
  • 使用语句创建视图(6)——设置视图约束(check option)check option选项表示视图启动了和子查询条件一样的约束。也就是说,如果对视图修改或插入的数据和查询条件不一致,那么该操作会被终止。关于检查约束前面已经讲...
  • 创建视图有如下限制: SELECT语句可以在where 语句中包含子查询,但FROM子句中的不能包含子查询。 SELECT语句不能引用任何变量,包括局部变量,用户变量和会话变量。 SELECT语句不能引用准备语句的参数。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 260,243
精华内容 104,097
关键字:

创建视图的语句是