MySQL视图

【MySQL】视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自我们定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 阅读详情

1.创建视图
创建视图的语法:
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]
其中,CREATE:表示新建视图;
REPLACE:表示替换已有视图;
ALGORITHM :表示视图选择算法;
view_name :视图名;
column_list:属性列;
select_statement:表示select语句。
[WITH [CASCADED | LOCAL] CHECK OPTION]参数表示视图在更新时保证在视图的权限范围之内。
可选的ALGORITHM子句是对标准SQL的MySQL扩展。
ALGORITHM可取三个值:MERGE、TEMPTABLE或UNDEFINED。
对于MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。
对于TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。
对于UNDEFINED,MySQL自己选择所要使用的算法。
如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。
LOCAL和CASCADED为可选参数,决定了检查测试的范围,默认值为CASCADED。
CREATE VIEW stu_class(id,NAME,glass) AS SELECT student.`stuno`,student.`stuname`,stuinfo.`class` FROM student ,stuinfo WHERE student.`stuno`=stuinfo.`stuno`
SELECT * FROM stu_class
2.查看视图
查看视图必须要有SHOW VIEW权限。
查看视图的方法包括:DESCRIBE、SHOW TABLE STATUS、SHOW CREATE VIEW。
DESCRIBE stu_class;
SHOW TABLE STATUS LIKE 'stu_class';
SHOW CREATE VIEW stu_class;
3.修改视图
MYSQL中通过CREATE OR REPLACE VIEW 语句和ALTER语句来修改视图
语法如下:
ALTER OR REPLACE [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
该语句用于更改已有视图的定义。其语法与CREATE VIEW类似。当视图不存在时创建,存在时进行修改。
实例:

DELIMITER $$
CREATE OR REPLACE VIEW `stu_class` AS 
SELECT
  `student`.`stuno`   AS `id`
FROM (`student` JOIN `stuinfo`)
WHERE (`student`.`stuno` = `stuinfo`.`stuno`)$$
DELIMITER;
DESC stu_class;
alter语句修改视图:
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION];
使用ALTER语句修改视图 stu_class:
ALTER VIEW  stu_class AS SELECT stuno FROM student;
使用DESC查看:
DESC stu_class;
4.更新视图
UPDATE stu_class SET stuname='xiaofang' WHERE stuno=2
DELETE FROM stu_class WHERE stuno=1
INSERT INTO stu_class VALUES(6,'haojie');
当视图中包含如下内容的时候,视图的更新操作将不能被执行。
(1)视图中包含基本中被定义为非空的列;
(2)定义视图的SELECT语句后的字段列表中使用了数学表达式;
(3)定义视图的SELECT语句后的字段列表中使用聚合函数;
(4)定义视图的SELECT语句中使用了DISTINCT、UNION、TOP、GROUP BY 、HAVING子句。
5.删除视图
删除视图使用DROP VIEW语法:
DROP VIEW [IF EXISTS]
view_name [, view_name] ...
[RESTRICT | CASCADE]
DROP VIEW能够删除1个或多个视图。必须在每个视图上拥有DROP权限。
可以使用关键字IF EXISTS来防止因不存在的视图而出错。
删除stu_class视图:
DROP VIEW IF EXISTS stu_class 
如果名称为 stu_class 的视图存在则删除。

【MySQL】mysql 视图转物化视图 create view stu_class (编号,姓名,班级)asselect student.id,student.name,stu_info.class from student,stu_info where student.id=stu_info.id;例一:现有一stu_info表(id,class,address),id为学生编号,创建视图,包含编号,姓名,班级。例一:现有student表(id,name,math,chinese),创建视图包含数学成绩,语文成绩,总成绩。 阅读详情

相关推荐

MySQL —— 视图

视图是一张虚拟的表,它是基于一个或多个基本表或其他视图的查询结果集。视图本身不存储数据,而是通过执行查询来动态生成数据,用户可以像操作普通表一样使用视图来进行查询更新与管理等操作。视图本身也不占用物理存储空间,它仅仅是一个查询的逻辑表示,物理上它依赖于基础表中的数据。语法:当我们有一个复杂的 sql 查询时,如果每次都有这个需求,那么每次就要写相同的 sql 语句,例如:现在有四张表,如下所示,学生表,成绩表,班级表和课程表 现在有一个需求:查询学生的 id ,姓名,对应的班级 ,课程名字以及对应的成绩,我

m0_74823595的博客 635

MySQL表相关注释

MySQL添加注释 在数据库设计中,我们是建议为数据库,数据表以及数据字段进行添加注释的,MySQL数据库中, 字段或列的注释是用属性comment来添加。 创建新表的脚本中, 可在字段定义创建表脚本中添加comment属性来添加注释。 示例代码如下: 1 create table test( 2 id int not null default 0 comment '用户id'...

yangman 584

欧姆龙SYSMAC STUDIO如何与基恩士SR-1000进行EIP通信

简要介绍一下扫码枪和欧姆龙sysmac的配置

weixin_42031602的博客 4787

mysql设置账号只能访问某些表,某些字段的权限

创建一个只包含允许访问的字段的视图,并将权限授予用户访问该视图。假设您已创建名为"mydatabase"的数据库和表"table1"和"table2"。这将允许用户"myuser"在"mydatabase"中执行SELECT、INSERT、UPDATE和DELETE操作。这将允许用户"myuser"查询"restricted_view"视图并访问其中的"name"和"email"字段。这将创建一个用户名为"myuser"、密码为"password"的用户,并限制其仅能从本地主机连接。

Cynhard_Cheung的博客 4895

FDTD超表面仿真详细教程,几何相位,共振相位,传播相位

FDTD的超表面主要几何相位型(PB型)和共振型两种类型,其中PB型每个cell中的纳米棒的长宽相同,旋转角度不同,共振型长宽不同,旋转角度相同。本博文中以最常见的长方形纳米棒为例,用FDTD演示两种超表面实现的聚焦透镜的功能,包含详细步骤,其他形状,材料的超表面可自行尝试。

wuyuerhhg的博客 3万+

解决 TensorFlow 和 Keras 的 Python 版本兼容问题:详细技术指南

本文提供了TensorFlow和Keras与Python版本不兼容问题的完整解决方案。通过版本对照表指出不同TensorFlow版本对应的Python支持范围,强调2.13.x仅支持Python 3.9-3.11,且不兼容Python 3.12+。给出最佳实践建议:使用虚拟环境管理项目依赖,推荐venv或conda创建独立环境;指导正确安装TensorFlow和Keras版本,建议优先使用tf.keras避免冲突;针对常见报错如DLL加载失败、模块导入错误等提供具体解决方法。最后给出一个在兼容环境中运行的M

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1664

MySQL视图创建和给予用户视图权限

MySQL视图创建和给予用户视图权限

weixin_45086164的博客 5821

【Cadence】stb仿真和ac仿真——以一个简单的全差分反相放大器仿真为例

最近在补一些仿真方法学的问题,以及一些一直以来都有点模糊的概念,简单记录一下。搭建一个以两个CMOS反相器构成的全差分放大器(28nm工艺,PMOS和NMOS尺寸一致)激励的设置方便共模和差模仿真用同一个TB(这里有一个问题:这个放大器需要在开环下仿真还是闭环下?哪些放大器应用在开环,哪些闭环?这种应用场景不同会导致需要仿真得到开环还是闭环增益,或者环路增益?(我知道放大器在设计的时候肯定都是闭环应用的多,但是什么时候没必要闭环应用?光验证ac和stb仿真是否一样的话有必要有回路吗?

weixin_44951108的博客 5万+

MySQL查看视图

查看视图 是指查看数据库中,已经存在的视图的定义 查看视图,必须要有SHOW VIEW的权限查看视图有三种方式使用DESCRIBE语句使用DESCRIBE语句,查看视图 MySQL中,使用DESCRIBE可以查看视图的字段信息,其中,包括字段名、字段类型等信息语法格式 DESCRIBE 视图名; 或者简写 DESC 视图名;使用describe语句,查看stu_class视图可以看出,显

天高任鸟飞 4万+

瑞芯微RK3506开发板DSM音频开发避坑指南:从硬件改接到内核配置全流程

本文详细解析了在瑞芯微RK3506开发板上进行DSM音频开发的完整流程与关键避坑点。内容涵盖从硬件改造(如电阻焊接)、内核驱动配置(DTS参数、补丁应用)到系统调试与波形分析的全过程,旨在帮助嵌入式开发者高效实现高信噪比、低成本的音频方案,避免常见错误。

weixin_29164091的博客 410

Halcon —— 图像像素类型与转换

图像类型 就目前工业领域主流的图像处理工具halcon来讲,有以下几张图像类型:‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’,具体含义如下图所示。相互间的转换可通过convert_image_type算子完成,但盲目转换会导致图像像素值异常。 ‘byte’ 每像素1字节,无符号 值范围: (0到255) ‘int1’ 每像素1字节,有符号 值范围: (-128到127) ‘

baidu_35536188的博客 1万+

mysql视图创建以及权限

一、视图介绍 创建视图是指在已经存在的 MYSQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> <视图名>:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 <SELECT语句>:指定创建视图的 SELECT 语句,...

chenhongming888的博客 7794

Windows MCP 安装教程:让 AI 代理与 Windows 系统无缝交互

通过以上步骤,你已经成功安装和配置了 Windows MCP 服务。现在你的 Cursor 编辑器可以通过 MCP 协议与 Windows 系统进行深度交互,AI 代理能够:启动和控制应用程序执行系统命令自动化 UI 操作获取系统状态信息这为 AI 辅助开发和工作流程自动化提供了强大的基础。如果你在使用过程中遇到任何问题,欢迎在评论区讨论或查看项目的官方文档。

chenchihwen的专栏 3355

【MySQL进阶】MySQL视图详解

小杨带你学MySQL进阶内容视图的相关知识,一文让你掌握视图的概述,视图的增删查改操作,视图数据的增删查改操作,视图的级联检查和非级联检查以及视图的优缺点。

小杨的博客 5431

AMD MI50 Linux ROCm 6.4 手动编译与大模型推理实战

GPU加速计算是现代AI推理的核心基础,其性能依赖于硬件架构、驱动栈与运行时环境的深度协同。ROCm作为AMD开源GPU计算平台,采用‘自下而上’的Linux生态集成路径,强调对上游内核、编译器与固件的强耦合。MI50基于Vega 20(gfx900)架构,虽具备32GB HBM2高带宽显存与14.7 TFLOPS FP16算力,但因ROCm官方支持策略转向CDNA架构,自6.5版本起被移出支持列表,仅ROCm 6.4仍提供实验性兼容——这使其成为Linux下部署私有大模型的关键‘最后一班船’。本文围绕MI

weixin_32770423的博客 370

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Mysql视图

1.初识视图 1.视图的概念和作用 什么是视图:是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表。 作用: 简化查询语句:简化用户的查询操作,使查询更加快捷。 安全性:更方便的进行权限控制。 逻辑数据独立性:屏蔽真实表结构变化带来的影响。 2.创建视图语法 CREATE[OR REPLACE][ALGORITHM = {UNDEFINED |MERGE│TEMPTABLE] [DEFINER= { user | CURRENT_USER] [SQL SECURITY { DE

海盗船长y的博客 5584

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MYSQL视图

MYSQL视图

Excuse_lighttime的博客 1347

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MySQL创建视图语法,MySQL视图的作用

MySQL创建视图语法,MySQL视图的作用 一、语法 1、 MySQL创建视图语法如下: CREATE VIEW view_name AS SELECT * FROM table_name ; 2、view_name:必填,唯一不可重复。 3、调用视图: SELECT * FROM view_name ; 4、查看视...

HaHa_Sir的博客 5483

MySQL | 视图

本篇文章详细介绍了怎么创建视图、查看视图、修改视图、更新视图和删除视图等mysql数据库知识。

天下弈星~的博客 1万+

【Mysql】视图

Mysql的视图概念,作用,使用修改删除视图

2303_77535762的博客 889

mysql之视图

保姆级教程,实操有效

qq_66129888的博客 1548

mysql 视图

视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。这样,用户可以不用看到整个数据库表中的数据,而只关心对自己有用的数据。视图可以使用户的操作更方便,而且可以保障数据库系统的安全性。 1 、视图简介 视图由数据库中的一个表或多个表导出的虚拟表。其作用是方便用户对数据的操作。 1.1 视图的含义 视图是一种虚拟的表,是从数据库中一个或多个表中导出来的表。视图还可以从已经存在的视图的基础上定义。数据库中只存放了视图的定义,而并没有存放视图中的数

weixin_45441862的博客 2312

MySQL 视图

什么是 MySQL 视图呢,其实就是一张由查询创建的虚拟表,所谓视图(View):视图是由查询结果形成一张虚拟的表。非临时表,只要不删除的话就会一直存放在磁盘上,但是没有对应的文件。视图的使用和正常的表的使用一样。视图是数据库中数据的定制的子集,可以限制用户直接访问原始表,确保用户通过视图来操作数据,这种机制有效地保护了用户和应用程序,减少了数据库结构变更对它们的影响。视图是一种抽象层,动态地从表中提取信息,创建出一个看似实体的虚拟表。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 1625
上一篇: MySQL索引的创建与删除
下一篇: MySQL存储过程和函数详细定义
Yaroo
博客等级 码龄11年 88粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值