数据库视图是一个虚拟表或逻辑表,由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必须创建