目 录
一、说明
二、操作
1.创建视图
2.创建可替换视图
3.修改视图
4.删除视图
5.对视图内容的增、删、改
(1)增
(2)改
(3)删
一、说明
- 只能将 DQL 语句创建为视图;
- 作用:
- 可以降低开发、维护成本。例如:有一条很复杂的 SQL 语句在多处使用;
- 视图可以隐藏表的字段名。
- 对视图的增、删、改会影响原表数据。
二、操作
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;