提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-11-04 17:08:49.597|阅读 1027 次
概述:Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。在今天的文章中,我们将学习一种视图以及如何使用Navicat Premium作为客户端为MySQL 8创建视图。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
数据库视图是一个虚拟表或逻辑表,由SELECT查询组成。与数据库表非常相似,视图也包含可以查询的行和列。包括MySQL在内的大多数数据库管理系统,甚至都允许您通过视图更新基础表中的数据,但有一些需要注意的事项。在今天的文章中,我们将学习一种视图以及如何使用Navicat Premium作为客户端为MySQL 8创建视图。
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
基本语法
在MySQL中,您可以使用CREATE VIEW语句创建一个新视图。这是基本语法:
CREATE [ALGORITHM = {MERGE | TEMPTABLE | UNDEFINED}] VIEW view_name [(column_list)] AS select-statement;
现在,让我们更详细地检查语法。
视图处理算法
ALGORITHM属性告诉MySQL创建视图时使用哪种机制。MySQL提供了三种算法:MERGE、TEMPTABLE和UNDEFINED:
MERGE算法将输入查询与定义视图的SELECT语句组合为一个查询。然后,MySQL执行组合查询以返回合并的结果集。MERGE算法不能应用于包含聚合函数(例如MIN、MAX、SUM、COUNT、AVG或DISTINCT、GROUP BY、HAVING、LIMIT、UNION和UNION ALL)的SELECT语句。如果无法应用MERGE算法,MySQL会自动将算法更改为UNDEFINED。
TEMPTABLE算法首先基于定义视图的SELECT语句创建一个临时表,然后针对该临时表执行输入查询。因为MySQL必须创建一个临时表来存储结果集并将数据从基表移到临时表,所以TEMPTABLE算法的效率不如MERGE算法。
创建视图而不指定显式算法时,UNDEFINED是默认算法。UNDEFINED算法使MySQL可以选择使用MERGE还是TEMPTABLE算法。由于效率更高,MySQL首先选择了MERGE算法,但如果不能采用MERGE,则会选择TEMPTABLE算法。
视图名称
只要遵循与表相同的命名规则,就可以为视图选择任何名称。此外,视图和表在数据库中共享相同的名称空间,因此您不能为视图指定与任何现有视图相同的名称。
SELECT语句
在SELECT语句中,您可以从数据库中存在的任何表或视图中查询数据。但是,SELECT语句遵循一些规则:
SELECT语句可以在WHERE子句中包含子查询,但不能在FROM子句中包含子查询。
SELECT语句不能引用任何变量,包括局部变量、用户变量和会话变量。
SELECT语句不能引用准备好的语句的参数。
在Navicat中创建视图
在Navicat中,可以通过单击主工具栏上的“视图”按钮,然后单击“对象”工具栏上的“新视图”来创建新视图:
“定义”选项卡是您编写SQL的地方。您甚至可以使用View Builder来帮助编写语句!
可以在“高级”选项卡上找到“算法”,以及其他一些选项:
完成后,您可以使用“预览”按钮测试您的“视图”,然后单击“保存”将其保存。
结论
视图是将一个或多个表的数据以可查询的格式组合在一起的好方法,但请记住,使用数据库视图存在一些缺点。首先,从数据库视图查询数据可能会很慢——特别是如果该视图是基于其他视图创建的。此外,每当更改视图引用的表的结构时,都必须记住要更改视图。
想要购买Navicat Premium正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢