本篇文章给大家带来了关于mysql的相关知识,其中主要整理了数据库视图的相关问题,包括了视图的介绍与作用、视图的创建、视图的修改、视图的更新、视图的重命名与删除、视图的练习等等内容,下面一起来看一下,希望对大家有帮助。

推荐学习:mysql视频教程
视图的介绍:
视图的作用:
创建视图的语法如下:
create [or replace] [algorithm = {undefined | merge | temptable}]
view view_name [(column_list)]
as select_statement
[with [cascaded | local] check option]参数说明:
修改视图是指修改数据库中已存在的表的定义。当基本表中的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间的一致。
语法格式:
alter view 视图名 as select语句;
并不是所有的视图都可以更新。可以在UPDATE、DELETE或INSERT等语句中使用视图,以更新基本表的内容。对于可更新的视图,在视图中的行和基本表中的行之间必须具有一对一的关系,如果视图包含下述结构中的任何一种,则该视图不可更新:
聚合函数(SUM()、MIN()、MAX()等);
DISTINCT;
H*ING;
UNION或者UNION ALL;
位于选择列表中的子查询;
JOIN;
FROM子句中的不可更新视图;
WHERE子句中的子查询,引用FROM子句中的表;
仅使用文字值(在该情况下,没有要更新的基本表)。
PHP Apache和MySQL 网页开发初步
本书全面介绍PHP脚本语言和MySOL数据库这两种目前最流行的开源软件,主要包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、解发器和视图等。本书帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何创建数据库驱动的动态Web应用程序。
385
查看详情
注意:
视图中虽然可以更新数据,但是有很多限制。一般情况下,最好将视图作为查询数据的虚拟表,而不要通过视图更新数据。
当真实表中修改了某个存在视图中的字段时,视图需要更新,否则该视图就会变成无效视图!
重命名视图:
rename table 视图名 to 新视图名;
删除视图:
drop view if exists 视图名;
删除视图时,只删除了视图的定义,而并不会删除真实表中的数据
如果想同时删除多个视图,则使用下面的语法格式:
drop view if exists 视图名1, 视图名2, 视图名3...;
在进行练习时可以先根据下面代码创建用于练习的两个基本表:
create table college(
cno int null,
cname varchar(20) null);create table student(
sid int null,
name varchar(20) null,
gender varchar(20) null,
age int null,
birth date null,
address varchar(20) null,
score double null);两表的基本数据如下图所示:

结合之前学过的知识可以 尝试使用子查询和连接查询 来实现,参考代码如下:
SELECT cname
FROM (SELECT cname, rank() over (order by *g_score desc ) item
FROM (SELECT cname, *g(score) *g_score
FROM student
JOIN college ON sid = cno
GROUP BY cname) t) tt
WHERE item = 1;在上述代码中,先将student 与 college两表关联,将关联的查询作为子表,并根据子表进行平均数的排序,平均数序号为1的平均分数最高,再以此为子表进行子查询,查询出了平均分最高的学校。具体结果如下:
这种方式虽然能够解决问题,但是相对复杂,不容易看懂,为了简化代码,我们可以将每一个子查询创建为一个视图
视图解决方式代码:
-- 1 视图一,连接两表并计算平均数
CREATE VIEW t_view AS
SELECT cname, *g(score) *g_score
FROM student
JOIN college ON sid = cno
GROUP BY cname;
-- 2 视图二,利用视图一对平均分数进行排序标号
CREATE VIEW tt_view AS
SELECT cname, rank() over (order by *g_score desc ) item
FROM (t_view);
-- 3 利用视图查询
SELECT cname
FROM (tt_view)
WHERE item = 1;在创建完视图后,如果想要查询平均分前三名学校,则方便很多,创建好的视图可以直接使用!
参考代码及结果:
SELECT cnameFROM (tt_view)WHERE item = 1 OR item = 2 OR item = 3;

推荐学习:mysql视频教程
以上就是实例详解MySQL数据库视图的详细内容,更多请关注其它相关文章!
# 如何设置
# 泰安seo免费咨询
# 吉林营销推广怎么样
# 太仓网站建设的现状
# 南川直播推广招聘网站
# seo10000
# 台州国强建设网站
# 吉林大型网站建设技巧
# 东阿品牌网站建设
# 无锡外贸网站建设建站
# 产品网站定制怎么做推广
# mysql
# 数据库中
# 解决问题
# 我们可以
# 插入图片
# 句中
# 重命名
# 本书
# 在这里
# 镜像
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
铁路12306入口 铁路12306官网版入口登录网址
空腹吃苹果好吗 苹果空腹摄入指南
如何通过settings.json个性化您的VS Code体验
12306夜间购票失败? | 查看官方公布的暂停服务公告与应对方案
《全民k歌》音乐怎么下载到本地2025
鸣潮历史学家灯塔位置一览
实现可重用自定义Python Range类
Flexbox布局:实现粘性导航与底部页脚的完美结合
tiktok国际版入口_tiktok官网网页版链接
Golang如何实现HTTP请求重试机制_Golang HTTP请求错误处理策略
精通VS Code多光标编辑以实现闪电般快速的修改
PDF文件去水印平台入口 PDF水印删除网址
邮政快递寄件查询入口 邮政快递收件查询入口
歌词怎么展示在|直播|间视频号?有什么注意事项?
DeepSeek超全面指南:入门必看
《oppo商城》维修服务位置
解决VS Code中Python版本冲突与输出异常的指南
在Django中动态检查模型关联:一种灵活的解决方案
《下一站江湖2》心法融合技巧
服装短视频如何起号推广?服装短视频起号推广有什么要求?
处理含命名空间的XML文件 Power Query中的高级技巧
TikTok网页版入口快速访问 TikTok官网账号登录方法
手机坏了微信聊天记录怎么导出来 新手机恢复聊天记录技巧
如何发挥新媒体矩阵作用?新媒体矩阵怎么搭建?
Lar*el Socialite单设备登录策略:实现用户唯一会话管理
QQ网页版入口导航 QQ网页版在线访问通道
汽水音乐网页版登录 汽水音乐网页端官方入口
菜鸟驿站的取件码忘了怎么办 手机快速查询指南
在J*a里什么是行为抽象_抽象行为对代码复用的提升作用
我的世界游戏平台入口 我的世界官方官网直达链接
掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析
c++如何实现观察者设计模式_c++行为型设计模式实战
windows10怎么开启卓越性能_windows10电源选项代码激活
《兴业银行》注册登录方法
J*aScript二进制处理_ArrayBuffer与Blob
如何在CSS中使用过渡制作按钮边框渐变_border-color transition实现
在PHP环境中正确加载HTML资源:CSS样式与图片路径指南
sublime怎么在文件中显示代码结构大纲_sublime符号列表功能
餐馆菜篮选购指南
《杖剑传说》食谱大全
PySimpleGUI中实现键盘按键与按钮事件绑定教程
excel怎么计算平均值 excel平均函数*ERAGE使用教学
如何在解析前预检查XML文件的完整性? 比如检查文件大小或特定结束标签
sublime如何自定义文件类型图标_AFileIcon插件的主题切换与个性化配置
mysql如何配置从库只读_mysql从库只读设置方法
j*a中ArrayBlockingQueue的使用
如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计
Pandas中基于动态偏移量实现DataFrame列值位移的策略
手机远程连接电脑方法
除了Copilot,还有哪些值得一试的VS Code AI插件?
2022-07-13
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。