精华内容
下载资源
问答
  • 创建视图时select语句有哪些限制
    2021-08-23 09:46:59

    创建视图有如下限制:

    • SELECT语句可以在where 语句中包含子查询,但FROM子句中的不能包含子查询。
    • SELECT语句不能引用任何变量,包括局部变量,用户变量和会话变量。
    • SELECT语句不能引用准备语句的参数。
    更多相关内容
  • MySQL创建视图的详细步骤

    千次阅读 2021-02-03 06:35:08
    MySQL创建视图的详细步骤发布时间:2020-05-22 17:40:50来源:51CTO阅读:143作者:三月下面讲讲关于MySQL创建视图的详细步骤,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL...

    MySQL创建视图的详细步骤

    发布时间:2020-05-22 17:40:50

    来源:51CTO

    阅读:143

    作者:三月

    下面讲讲关于MySQL创建视图的详细步骤,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL创建视图的详细步骤这篇文章你一定会有所受益。

    1.视图概述:视图是从一个或多个表导出来的表,它是一种虚拟存在的表,并且表的结构和数据都依赖基本表

    2.创建视图的语法格式:视图创建基于SELECT语句CREATE [OR REPLACE]  [ ALGORITHM] = {UNDEFINDE | MERGE | TEMPTABLE} ]

    VIEW view_name [(column_list)]

    AS SELECT_statement

    [WITH [ CASCADED | LOCAL] CHECK OPTION]

    //OR REPLACE表示该语句可以替换已有视图

    //ALGORITHM 表示是视图选择的算法

    //UNDEFINDE 表示MySQL自动选择算法

    //MERGE:将使用视图的语句与视图定义合并起来,是的视图定义的某一部分取代语句的对应部分

    //TEMPTABEL:视图存入临时表

    //column_list:属性清单,指定了视图中各个属性的名

    //AS : 视图要执行的操作

    //CASCADED :级联,满足与该视图有关的的所有相关视图和表的条件

    //LOCAL : 可选,满足该视图本身定义即可

    2.在单表上创建视图

    create view play_v as select id,name from star;

    select * from play_v;

    create view play_v1(number,player) as select id,name from star;

    3.在多表上创建视图create view p_t (number,player,team)

    as

    select star.id,star.name,team.name from star,team where star.team_id = team.id;

    select * from p_t;

    4.查看视图

    DESCRIBE 视图名称 // 或者 DESC 视图名称

    desc play_v1;

    SHOW  TABLE STATUS LIKE '视图名称'

    show table status like 'p_t';

    SHOW CREATE VIEW 视图名称;

    show create view play_v;

    5.修改视图:当基本表中的某些字段发生变化

    (1)使用CREATE OR REPLACE VIEW 语句修改视图

    create or replace view play_v as select * from student;

    (2)

    ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    VIEW view_name [(column_list )]

    AS SELECT_statement

    [WITH [CASCADED | LOCAL] CHECK OPTION]

    ~使用alter修改视图结构

    alter view play_v1 as select team_id,name from star;

    6.更新视图

    (1)UPDATE语句

    update view p_t set number = null;

    (2)INSERT 语句

    insert into star values(11,'克莱-汤普森',4);  #视图也跟着改变

    (3)DELETE语句

    delete from p_t where number = 11;    #视图删除的数据就是基本表里的数据

    7.删除视图

    DROP VIEW [IF EXISTS] view_name [,view_name......]  [RESTRICT | CASCADE]

    drop view play_v1;

    对于以上MySQL创建视图的详细步骤相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

    展开全文
  • MySQL创建视图的语法格式

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

    视图,具有简化查询语句、安全性和保证逻辑数据独立性等作用

    创建视图的语法格式

    视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可以建立在多张表上

    MySQL中,使用CREATE VIEW语句,创建视图

    语法格式

    CREATE [OR REPLACE] [ALGORITHM={UNDEFIEND | MERGE | TEMPTABLE}]

    VIEW view_name [(column_list)]

    AS SELECT_statement

    [WITH [CASCADED | LOCAL] CHECK OPTION]

    创建视图的语句,是由多条子句构成的

    参数说明

    1、CREATE,表示创建视图的关键字

    2、OR REPLACE,如果给定了此子句,表示该语句能够替换已有视图

    3、ALGORIGHM,可选参数,表示视图选择的算法

    4、UNDEFIEND,表示MySQL将自动选择,所有使用的算法

    5、MERGE,表示将使用视图的语句,与视图定义合并起来,使得视图定义的某一部分,取代语句的对应部分

    6、TEMPTABLE,表示将视图的结果存入临时表,然后使用临时表执行语句

    7、View_name,表示要创建的视图名称

    8、Column_list,可选参数,表示属性清单,指定了视图中各个属性的名称,默认情况下,与SELECT语句中查询的属性相同

    9、AS,表示指定视图要执行的操作

    10、SELECT_statement,是一个完整的查询语句,表示从某个表或视图中查出,某些满足条件的记录,将这些记录导入视图中

    11、WITH CHECK OPTION,可选参数,表示创建视图时,要保证在该视图的权限范围之内

    12、CASCADED,可选参数,表示创建视图时,需要满足跟该视图有关的,所有相关视图和表的条件,该参数为默认值

    13、LOCAL,可选参数,表示创建视图时,只要满足该视图本身定义的条件即可

    创建视图时,要求具有针对性视图的CREATE VIEW权限,以及针对由SELECT语句选择的每一列上的某些权限

    对于,在SELECT语句中,其他地方使用的列,必须具有SELECT权限,如果,还有OR REPLACE子句,必须在视图上具有DROP权限

    注意,视图属于数据库,默认情况下,在当前数据库中创建视图,给指定的数据库创建视图,创建时,应将名称指定为db_name,view_name

    展开全文
  • MySQL如何创建视图和用户

    千次阅读 2021-11-30 09:11:55
    目录 一.视图 1.1 概念 1.2 使用 ... 1.3 视图的规则和限制 ... 2.1.2 创建用户 2.1.3 删除用户 2.1.4 修改密码 2.2 数据库权限 2.2.1 给用户授权 2.2.2 回收权限 一.视图 1.1 概念 ...

    目录

    一.视图

            1.1 概念

            1.2 使用

            1.3 视图的规则和限制

    二.用户管理

            2.1 用户

            2.1.1 用户信息

            2.1.2 创建用户

             2.1.3 删除用户

             2.1.4 修改密码

             2.2 数据库权限

             2.2.1 给用户授权

            2.2.2 回收权限


    一.视图

            1.1 概念

            视图时一个虚拟表,其内容有查询来定义。同真实表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表数据变化也会影响到视图。

            简单来说,一个表的中的数据太大了,通过查询条件来建立一张子表。修改子表的数据会影响主表,修改主表的数据会影响到子表。

            1.2 使用

    • 创建视图

            在当前数据库中形成一个新的表结构。

    语法:create  view  视图名  as select .....

    案例:

    在当下数据库形成新的表结构:

    •  修改视图

            修改视图,基表也会发生变化。

    •  修改基表

            修改基表,视图也会发生变化。

    •  删除视图

    语法:drop  view  视图名;

            1.3 视图的规则和限制

    • 和表一样,必须唯一命名。

    • 创建视图数无限制,但要考虑复杂查询创建为视图之后的性能影响。

    • 视图不能添加索引,页不能有关联的触发器或者默认值。

    • 视图可以提高安全性,必须有足够的访问权限。

    • order by用在视图中。

    • 视图可以和表一起使用。

    二.用户管理

            我们现在使用的是root用户,root用户权限太大。可以操作所有的库,由于权限大,导致风险过大。如果进行了误操作,导致损失严重。

            于是就需要使用MySQL的用户管理。一个用户只能操作特定的库,并且也只具有特定的权限。

            2.1 用户

            2.1.1 用户信息

            MySQL中的用户都保存在系统数据库MySQL的user表中。

    字段解释:

    • host:表示这个用户可以重哪个主机登录。localhost,表示只能从本机登录。%表示从任意远端登录。
    • user:用户名
    • authentication_string:用户密码,通过password函数加密的
    • *_priv:用户拥有的权限。

            2.1.2 创建用户

            注意:创建用户需要root来做。

    语法:create  user  '用户名'@'登录主机/ip'  identified  by '密码';

    案例:

             2.1.3 删除用户

    语法:drop user '用户名'@'主机名';

    案例:

             2.1.4 修改密码

    • 自己改自己的密码

    语法:set  password=password('新的密码');(该语法在MySQL8.0以上已经不适用)

    • root用户指修改指定用户密码

    语法:set  password  for  '用户名'@'主机名'=password('新的密码');(该语法在MySQL8.0以上已经不适用)。

    • root修改指定用户密码(8.0版本以上)

    语法:alter user '用户名'@'主机名' identified  with  mysql_native_password by '新密码';

             2.2 数据库权限

            root用户拥有所有的权限。

             2.2.1 给用户授权

            刚创建好的用户没有任何权限。需要给root用户授权。

    语法:grant  权限列表  on  库.对象名(表名)  to  '用户名'@'主机名        '  [identified  by  '密码'];

    说明:

    • 权限列表,多个权限用逗号隔开。

    grant  select  on ......

    grant  select,delete, create  on......

    grant  all [privileges]  on......  --表示赋予该用户在该对象上的所有权限

    • *.*:表示本系统中的所有数据库的所有对象(表)。
    • 库.*:表示某个数据库中的所有数据对象。
    • identified  by 可选。如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户。

    案例:

    • 授权

    •  使用权限

    •  查看用户现有的权限

     注意:如果发现赋权后没有生效,执行如下命令:

    flush  privileges;

            2.2.2 回收权限

    语法:revoke 权限列表 on 库名.对象  from '用户名'@'主机号';

     

    展开全文
  • 文章目录1 视图概述2 创建视图3 修改视图4 删除视图 1 视图概述 视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。 2 创建视图 语法格式: create view view_name...
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询...
  • sqlserver之创建视图

    千次阅读 2021-04-27 08:50:16
    sqlserver之创建视图 视图是一个虚拟的表,同真实的表一样,包含字段和记录。字段和记录的数据来源与其他表(可以是多表)或其他视图,对外呈现的是一张表,对内则是select语句。 视图的特点 通过视图看到的数据是...
  • 如何在SQL Server中创建视图

    千次阅读 2020-07-25 22:30:11
    在本文中,我们将学习SQL Server中视图概念的基础知识,然后探索使用T-SQL和SQL Server Management Studio在SQL中创建视图的方法。 定义 (Definition) Most of the time, views can be defined as “virtual or ...
  • 【MySQL】MySQL视图创建、查询。

    千次阅读 2021-01-18 22:19:14
    视图是指计算机数据库中的视图,是一个虚拟表。关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历...视图相关的MySQL指令操作指令代码创建视图CREATE VIEW 视图名(列1,列2...) AS SEL...
  • 创建视图在单表上创建视图在多表上创建视图
  • oracle的视图是一个很有用的工具,在很多应用中的应用到。 在oracle视图中,对于简单视图,oracle 允许进行 dml 操作 ,...答案是,如果你在创建视图时,使用where 子句限制时没有使用到 with check option 子句 时,
  • 视图 视图定义: 基于多表的预定义查询,这些表称为基表 可以通过视图对基表进行DML操作 在视图中检索信息与从基表中检索信息方法完全相同注意...限制用户只能访问基表的部分数据,实现安全性创建视图 create
  • mysql中创建视图、索引

    千次阅读 2021-02-03 22:17:56
    外模式一、视图1、什么是视图视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库中的数据,而之关心对自己...
  • 2、创建视图(CREATE VIEW)

    万次阅读 多人点赞 2020-10-12 10:28:59
    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 基本语法 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT...
  • 数据库创建视图容易出的错

    千次阅读 2020-04-27 16:31:51
    当sql server出现“错误的语法:"XXXX"必须是批处理中仅的语句 ”的错误。 报错的原因分析: 批处理必须以 CREATE 语句开始,即一个查询分析器里面只有一个批处理语句才是规范的语法。create default、create ...
  • SQLServer之创建视图

    万次阅读 2018-10-24 11:33:17
    使用SSMS数据库管理工具创建视图 1、连接数据库,选择数据库,展开数据库-》右键视图-》选择新建视图。 2、在添加表弹出框-》选择要创建视图的表、视图、函数、或者同义词等-》点击添加-》添加完成后选择关闭。 ...
  • 1.创建视图中的select 语句单独执行查询没问题,在外面包上 create or replace view v_视图名 as() 时报ORA-00907:缺失右括号 2.创建视图中的查询语句大体如下 ``` select CBS.id, CBS.name,...
  • mysql创建视图,动态传入参数

    千次阅读 2022-04-09 17:27:47
    MySql视图中动态传入参数
  • 视图在我们oracle数据库中是必不可少的结构之一,那么它有哪些好处? 1.简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户...
  • 当我们需要查询的数据比较复杂时,我们可以通过创建视图的方式,将数据存储到视图中,下面创建视图。 如何创建视图:首先将需要的数据通过sql进行查询出来,然后将sql放到视图中。如下图。 点击视图右键,新建视图...
  • 实验三的创建视图问题 select partkey,availqty,supplycost from PartSupp where suppkey in( select suppkey from Supplier where name=‘海大汽配’ ); insert into Viewpart2 values(58889,5048, 77760); update ...
  • Oracle创建两表关联查询的视图

    千次阅读 2021-05-05 01:10:29
    在项目开发中,时候会用到多表查询,很多种方法,比如关联,比如视图,但对于...下面我记录一下Oracle创建视图大多人操作数据库是用Scott权限进行操作数据库,但Scott是没有创建视图的权限的,所以我们要进入管...
  • mysql多表查询,创建视图

    万次阅读 2018-06-26 20:12:48
    (1)创建视图 create [ or replace ] view `视图名` as sql 语句 create view stu_view_1 as select sid,sname,age,sex,city,ch,math from stuinfo left join stumarks using (sid...
  • MySQL——创建视图

    千次阅读 2018-05-16 20:05:04
    创建视图是指在已经存在的数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。一. 查看用户是否具有创建视图的权限 创建视图需要具有 CREATE VIEW 的权限,同时应该具有查询涉及的列的 ...
  • mybatis-调用视图条件查询

    千次阅读 2020-12-25 14:01:26
    进行视图查询在数据库中可以创建视图来进行。 视图优点: 1.允许简化复杂查询。 2.限制对特定用户的数据访问 3.提供额外的安全层 4.启用计算列 视图缺点: 1.数据查询可能会比较慢 2.表依赖问题,变更关联表就需要...
  • oracle视图(带参数)

    千次阅读 2021-05-08 00:43:03
    具体的Oracle参数视图实践(1)2010-04-19 10:20 佚名 CSDN博客我要评论(0)字号:T | T一般情况下Oracle数据库是不带参数的视图。有时,我们想使用Oracle参数视图,可以给我们方便查询数据。下面就来简单介绍下。AD:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 222,120
精华内容 88,848
关键字:

创建视图的条件有哪些