MySQL 教程

MySQL 教程 MySQL 简介 MySQL 管理系统

MySQL SQL 语句

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 联接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自联接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 更改表 MySQL 约束 MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL 自动增量 MySQL 日期 MySQL 视图

MySQL 参考手册

MySQL 数据类型 MySQL 函数

MySQL 实例

MySQL 实例 MySQL 测验 MySQL 练习


MySQL Views

MySQL CREATE VIEW 语句

在 SQL 中,视图是基于 SQL 语句结果集的虚拟表。

视图包含行和列,就像真正的表一样。 视图中的字段是来自数据库中一个或多个真实表的字段。

您可以将 SQL 语句和函数添加到视图中,并像数据来自单个表一样呈现数据。

使用 CREATE VIEW 语句创建视图。

CREATE VIEW 创建视图语法

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

注意:视图总是显示最新的数据! 每次用户查询时,数据库引擎都会重新创建视图。


MySQL CREATE VIEW 创建视图示例

以下 SQL 创建一个视图,显示来自巴西的所有客户:

实例

CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';

我们可以这样查询上面的视图:

实例

SELECT * FROM [Brazil Customers];

以下 SQL 创建一个视图,该视图选择 "Products" 表中价格高于平均价格的所有产品:

实例

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);

我们可以这样查询上面的视图:

实例

SELECT * FROM [Products Above Average Price];


MySQL 更新视图

可以使用 CREATE 或 REPLACE VIEW 语句更新视图。

创建或替换视图语法

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

以下 SQL 将 "City" 列添加到 "Brazil Customers" 视图:

实例

CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';

MySQL 删除视图

使用 DROP VIEW 语句删除视图。

DROP VIEW 语法

DROP VIEW view_name;

以下 SQL 删除 "Brazil Customers" 视图:

实例

DROP VIEW [Brazil Customers];