在 SQL(包括 PostgreSQL、MySQL、SQLite、SQL Server、Oracle 等)里,VIEW(视图) 是一个“虚拟表”。它本身不存储数据,只保存一条查询语句(SELECT ...),每次访问视图时,数据库会自动运行这个查询,把结果当成表返回。
基本语法:
CREATE VIEW view_name AS
SELECT ...
FROM ...
WHERE ...;
例子:
CREATE VIEW cs_students AS
SELECT id, name, tot_cred
FROM student
WHERE dept_name = 'Comp. Sci.';
cs_students 就像一张表。SELECT * FROM cs_students;。student 表里查询。-- 修改定义(有的数据库要写 REPLACE)
CREATE OR REPLACE VIEW cs_students AS
SELECT id, name
FROM student
WHERE dept_name = 'Comp. Sci.';
-- 删除视图
DROP VIEW cs_students;
CREATE VIEW。CREATE MATERIALIZED VIEW mv_cs_students AS
SELECT * FROM student WHERE dept_name = 'Comp. Sci.';
REFRESH MATERIALIZED VIEW 更新。