如何在SQL数据库中创建视图并与之互动
你可以用SQL做的一件有趣的事情是创建一个视图。
视图就像一个表,只不过它不是一个真正的表,而是由一个SELECT查询的结果动态建立的。
让我们使用我们在连接课上使用的例子。
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
CREATE TABLE cars (
brand CHAR(20) NOT NULL,
model CHAR(20) NOT NULL,
owner CHAR(20) NOT NULL PRIMARY KEY
);
我们添加一些数据。
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');
我们可以创建一个视图,我们称之为car_age ,它总是包含汽车型号和车主年龄之间的相关性。
CREATE VIEW car_age AS SELECT model, age AS owner_age FROM people JOIN cars ON people.name = cars.owner;
下面是我们可以用SELECT * FROM car_age 来检查的结果。
model | owner_age
----------------------+-----------
Fiesta | 37
Mustang | 8
视图是持久的,看起来就像你数据库中的一个表。你可以用DROP VIEW 删除一个视图。