嘿,各位数据界的小伙伴们,欢迎来到SQL训练营的第十八章!这一章,咱们要玩转一个超级有用的工具——视图View。视图就像是数据界的“魔术镜”,能让你看到数据的不同面貌,还能简化、格式化、过滤数据,甚至计算新字段!是不是听起来就像变魔术一样?那就跟着我一起来探索这个“魔术镜”吧!准备好了吗?让我们开始吧!
第一节:准备相关基础表和数据
为了方便我们练习视图,我们将创建几个新的表格,并插入一些与前几章不同的数据。假设我们有一个电影租赁平台,需要记录电影、导演、演员和租赁信息。我们将创建四个表格:movies
(电影表)、directors
(导演表)、actors
(演员表)和 rentals
(租赁表),并插入一些初始数据。
1. 创建表格
movies
表格(电影信息)
-- 创建 "movies" 表格,包含电影的基本信息
CREATE TABLE movies (
movie_id INT PRIMARY KEY AUTO_INCREMENT, -- 电影编号,自动递增
title VARCHAR(100), -- 电影名称
release_year YEAR, -- 上映年份
director_id INT, -- 导演编号
genre VARCHAR(50) -- 电影类型
);
directors
表格(导演信息)
-- 创建 "directors" 表格,包含导演的基本信息
CREATE TABLE directors (
director_id INT PRIMARY KEY AUTO_INCREMENT, -- 导演编号,自动递增
first_name VARCHAR(50), -- 导演名
last_name VARCHAR(50) -- 导演姓
);
actors
表格(演员信息)
-- 创建 "actors" 表格,包含演员的基本信息
CREATE TABLE actors (
actor_id INT PRIMARY KEY AUTO_INCREMENT, -- 演员编号,自动递增
first_name VARCHAR(50), -- 演员名
last_name VARCHAR(50), -- 演员姓
movie_id INT -- 所参演的电影编号
);
rentals
表格(租赁信息)
-- 创建 "rentals" 表格,包含租赁的基本信息
CREATE TABLE rentals (
rental_id INT PRIMARY KEY AUTO_INCREMENT, -- 租赁编号,自动递增
customer_name VARCHAR(100), -- 客户姓名
movie_id INT, -- 租赁的电影编号
rental_date DATE, -- 租赁日期
return_date DATE -- 归还日期
);
2. 插入数据
movies
表格数据
-- 插入五条电影记录
INSERT INTO movies (title, release_year, director_id, genre)
VALUES ('The Godfather', 1972, 1, 'Crime');
INSERT INTO movies (title, release_year, director_id, genre)
VALUES ('Pulp Fiction', 1994, 2, 'Crime');
INSERT INTO movies (title, release_year, director_id, genre)
VALUES ('Inception', 2010, 3, 'Sci-Fi');
INSERT INTO movies (title, release_year, director_id, genre)
VALUES ('The Dark Knight', 2008, 3, 'Action');
INSERT INTO movies (title, release_year, director_id, genre)
VALUES ('Forrest Gump', 1994, 4, 'Drama');
directors
表格数据
-- 插入五条导演记录
INSERT INTO directors (first_name, last_name)
VALUES ('Francis', 'Coppola');
INSERT INTO directors (first_name, last_name)
VALUES ('Quentin', 'Tarantino');
INSERT INTO directors (first_name, last_name)
VALUES ('Christopher', 'Nolan');
INSERT INTO directors (first_name, last_name)
VALUES ('Robert', 'Zemeckis');
actors
表格数据
-- 插入五条演员记录
INSERT INTO actors (first_name, last_name, movie_id)
VALUES ('Marlon', 'Brando', 1);
INSERT INTO actors (first_name, last_name, movie_id)
VALUES ('John', 'Travolta', 2);
INSERT INTO actors (first_name, last_name, movie_id)
VALUES ('Leonardo', 'DiCaprio', 3);
INSERT INTO actors (first_name, last_name, movie_id)
VALUES ('Christian', 'Bale', 4);
INSERT INTO actors (first_name, last_name, movie_id)
VALUES ('Tom', 'Hanks', 5);
rentals
表格数据
-- 插入五条租赁记录
INSERT INTO rentals (customer_name, movie_id, rental_date, return_date)
VALUES ('Alice Smith', 1, '2023-01-15', '2023-01-22');
INSERT INTO rentals (customer_name, movie_id, rental_date, return_date)
VALUES ('Bob Johnson', 2, '2023-02-10', '2023-02-17');
INSERT INTO rentals (customer_name, movie_id, rental_date, return_date)
VALUES ('Charlie Brown', 3, '2023-03-05', '2023-03-12');
INSERT INTO rentals (customer_name, movie_id, rental_date, return_date)
VALUES ('Diana Prince', 4, '2023-04-20', '2023-04-27');
INSERT INTO rentals (customer_name, movie_id, rental_date, return_date)
VALUES ('Eve Adams', 5, '2023-05-12', '2023-05-19');
现在,我们的 movies
、directors
、actors
和 rentals
表格已经准备好了,里面有一些电影、导演、演员和租赁的信息。接下来,我们将学习如何使用视图来简化和美化这些数据查询。
幽默小贴士:
视图就像是给数据库“化妆”,你可以通过它让数据看起来更加漂亮和易于理解。别担心,SQL 会帮你搞定这一切!
标签:name,--,movie,视图,movies,SQL,id,View From: https://blog.csdn.net/caifox/article/details/144861847