当前位置: 首页 > news >正文

MySQL基础关键_011_视图

目  录

一、说明

二、操作

1.创建视图

2.创建可替换视图

3.修改视图

4.删除视图

5.对视图内容的增、删、改

(1)增

(2)改

(3)删


一、说明

  1. 只能将 DQL 语句创建为视图
  2. 作用:
    1. 可以降低开发、维护成本。例如:有一条很复杂的 SQL 语句在多处使用;
    2. 视图可以隐藏表的字段名。
  3. 对视图的增、删、改会影响原表数据

二、操作

1.创建视图

        创建一张 users 表,随机插入几条数据,并添加查询全部信息的视图。

        再查询该视图的全部信息和 id 是 2 的人员信息。

drop table if exists users;create table users(id int primary key auto_increment,name varchar(10),email varchar(255) unique
);insert into users(name, email) values('张爱菊', '13795812231@wx.com'),('何继超', '19834215667@wx.com'),('陆明', '17329335210@wx.com');-- 创建查询所有信息的视图
create view users_selectall_view as select * from users;-- 查询视图 users_selectall_view 的所有信息
select * from users_selectall_view;-- 查询视图 users_selectall_view 中 id = 2 的人员信息
select * from users_selectall_view where id = 2;


2.创建可替换视图

        为 users 表添加查询 id 和 name 的可替换视图。

create or replace view users_select_id_name_view as select id, name from users;select * from users_select_id_name_view;


3.修改视图

        将上述 users_select_id_name_view 修改为查询 email 是 “17329335210@wx.com” 的用户 id 和 name。

alter view users_select_id_name_view as select id, name from users where email = '17329335210@wx.com';select * from users_select_id_name_view;


4.删除视图

        删除 users_select_id_name_view 视图。

drop view if exists users_select_id_name_view;


5.对视图内容的增、删、改

        对视图的增、删、改会影响原表数据。

(1)增

        为 users_selectall_view 视图新插入一条数据,并重新查询该视图全部信息和 users 表全部信息。

insert into users_selectall_view(name, email) values('白玉兰', '15322739951@wx.com');select * from users_selectall_view;select * from users;


(2)改

        将视图 users_selectall_view 新增的用户姓名修改为“杜睿”,并重新查询该视图全部信息和 users 表全部信息。

update users_selectall_view set name = '杜睿' where id = 4;select * from users_selectall_view;select * from users;


(3)删

         删除视图 users_selectall_view 的全部记录,并重新查询该视图全部信息和 users 表全部信息。

delete from users_selectall_view;select * from users_selectall_view;select * from users;

相关文章:

  • linux环境安装docker
  • 智慧医院的可视化变革:可视化工具助力数字化转型
  • leetcode 142. Linked List Cycle II
  • 【Django】中间件
  • RDD有哪几种创建方式
  • 软件研发效能体系建设
  • VLM-AD:通过视觉语言模型监督实现端到端自动驾驶
  • Mac中Docker下载与安装
  • Excel模版下载文件导入
  • 跨物种交流新时代!百度发布动物语言转换专利,听懂宠物心声
  • WHAT - Rust 智能指针
  • -CoderOilStationJava高级工程师
  • 嵌入式学习--江协51单片机day2
  • 卷积神经网络基础(七)
  • C++对象注册系统(1)实现原理
  • 【Python爬虫电商数据采集+数据分析】采集电商平台数据信息,并做可视化演示
  • DHCP理解
  • 【上位机——MFC】对象和控件绑定
  • Kubernetes安全策略实战:从PodSecurityPolicy到Pod Security Admission
  • leetcode文件级全局变量会在测试用例之间相互影响
  • 富家罹盗与财富迷思:《西游记》与《蜃楼志》中的强盗案
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 人民日报读者点题·共同关注:今天我们为什么还需要图书馆?
  • ​中国超大规模市场是信心所在——海南自贸港建设一线观察
  • 体验中国传统文化、采购非遗文创,波兰游客走进上海市群艺馆
  • 云南一餐馆收购长江野生鱼加工为菜品,被查处罚款