0
点赞
收藏
分享

微信扫一扫

SQL38 针对actor表创建视图actor_name_view

彪悍的鼹鼠 2022-02-12 阅读 28
sql

文章目录

1. 题目

  • 题目来源:SQL38 针对actor表创建视图actor_name_view

  • 题目描述
    针对actor表创建视图actor_name_view,只包含first_name以及last_name两列,并对这两列重新命名,first_name为first_name_v,last_name修改为last_name_v:

  • 表格

    CREATE TABLE  actor  (
       actor_id  smallint(5)  NOT NULL PRIMARY KEY,
       first_name  varchar(45) NOT NULL,
       last_name  varchar(45) NOT NULL,
       last_update datetime NOT NULL);
    

    后台会插入2条数据:
    insert into actor values (‘1’, ‘PENELOPE’, ‘GUINESS’, ‘2006-02-15 12:34:33’), (‘2’, ‘NICK’, ‘WAHLBERG’, ‘2006-02-15 12:34:33’);
    然后打印视图名字和插入的数据

  • 所需结果
    示例:

    输入:
    
    drop table if exists actor;
    CREATE TABLE  actor  (
       actor_id  smallint(5)  NOT NULL PRIMARY KEY,
       first_name  varchar(45) NOT NULL,
       last_name  varchar(45) NOT NULL,
       last_update datetime NOT NULL);
    insert into actor values ('1', 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'), ('2', 'NICK', 'WAHLBERG', '2006-02-15 12:34:33');
    
    输出:
    
    ['first_name_v', 'last_name_v']
    PENELOPE|GUINESS
    NICK|WAHLBERG
    

2. 题解

题解:

CREATE VIEW actor_name_view (first_name, last_name) AS 
SELECT first_name first_name_v,
       last_name last_name_v
FROM actor;

3. 反思:创建视图

1、创建视图

sql CREATE VIEW v
AS SELECT clause;

注:若部分字段,则使用 v(c1, c2, ...),相应SELECT c1, c2,..

2、视图作用

  • 隐藏了底层的表结构(假加强了安全性)
  • 简化了数据访问操作(简化用户操作)
举报

相关推荐

0 条评论