-
2021-08-23 09:46:59
创建视图有如下限制:
- SELECT语句可以在where 语句中包含子查询,但FROM子句中的不能包含子查询。
- SELECT语句不能引用任何变量,包括局部变量,用户变量和会话变量。
- SELECT语句不能引用准备语句的参数。
更多相关内容 -
MySQL创建视图的详细步骤
2021-02-03 06:35:08MySQL创建视图的详细步骤发布时间: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 使用
- 创建视图
在当前数据库中形成一个新的表结构。
语法: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 '用户名'@'主机号';
-
数据库 SQL Server 视图 创建视图 查询视图 修改视图 删除视图
2021-12-06 11:03:31文章目录1 视图概述2 创建视图3 修改视图4 删除视图 1 视图概述 视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。 2 创建视图 语法格式: create view view_name... -
MySQL数据库视图:视图定义、创建视图、修改视图
2017-03-20 11:54:15视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询... -
sqlserver之创建视图
2021-04-27 08:50:16sqlserver之创建视图 视图是一个虚拟的表,同真实的表一样,包含字段和记录。字段和记录的数据来源与其他表(可以是多表)或其他视图,对外呈现的是一张表,对内则是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... -
创建视图 在单表上创建视图 在多表上创建视图
2016-06-14 11:42:54创建视图在单表上创建视图在多表上创建视图 -
oracle 创建视图用 with check option 子句详解
2022-04-26 17:33:40oracle的视图是一个很有用的工具,在很多应用中的应用到。 在oracle视图中,对于简单视图,oracle 允许进行 dml 操作 ,...答案是,如果你在创建视图时,使用where 子句限制时没有使用到 with check option 子句 时, -
视图+视图定义+创建视图+视图的表结构+创建视图的语句+查看视图哪些列是可以进行DML操作
2017-06-02 09:26:44视图 视图定义: 基于多表的预定义查询,这些表称为基表 可以通过视图对基表进行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、在添加表弹出框-》选择要创建视图的表、视图、函数、或者同义词等-》点击添加-》添加完成后选择关闭。 ... -
oracle创建视图提示缺少右括号
2019-03-26 09:46:371.创建视图中的select 语句单独执行查询没问题,在外面包上 create or replace view v_视图名 as() 时报ORA-00907:缺失右括号 2.创建视图中的查询语句大体如下 ``` select CBS.id, CBS.name,... -
mysql创建视图,动态传入参数
2022-04-09 17:27:47MySql视图中动态传入参数 -
快速解决oracle创建视图出现权限不足问题
2020-05-08 22:54:24视图在我们oracle数据库中是必不可少的结构之一,那么它有哪些好处? 1.简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户... -
如何创建视图,以及视图的使用场景,视图是否可以表进行联查
2020-03-24 20:07:29当我们需要查询的数据比较复杂时,我们可以通过创建视图的方式,将数据存储到视图中,下面创建视图。 如何创建视图:首先将需要的数据通过sql进行查询出来,然后将sql放到视图中。如下图。 点击视图右键,新建视图... -
关于SQL Server 2008创建视图,找不到数据问题
2020-05-09 18:31:35实验三的创建视图问题 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:...