MySQL 视图(view)

视图View的使用

(一)概念

1. 视图是简化查询过程,提高数据库安全性的虚拟表。
2. 视图中保存的仅仅是一条select语句,保存的是视图的定义,并没有保存真正的数据。视图中的源数据都来自于数据库表,数据库表称为基本表或者基表,视图称为虚拟表。
   使用视图关注重点就在select语句上,因为select语句不一样,得到的结果集也是不一样的。

(二)作用

1. 防止未经许可的用户访问敏感数据,确保数据的安全性
2. 封装sql语句,简化查询过程
3. 视图可对用户屏蔽真实表结构

(三)语法

格式:
	CREATE VIEW 视图名字   AS  SELECT 语句; 

(四)案例

准备数据:
CREATE DATABASE mysqlTall;
CREATE TABLE `user` (
	uid INT PRIMARY KEY AUTO_INCREMENT,
	uname VARCHAR(30) NOT NULL,
	username VARCHAR(20) UNIQUE NOT NULL,
	`password` VARCHAR(20) NOT NULL,
	hobby VARCHAR(20) NOT NULL
);

INSERT INTO `user` VALUE (NULL, "张三", "zhangsan", "123", "抽烟"),
			(NULL, "李四", "lisi", "456", "喝酒"),
			(NULL, "张二麻子", "zhangermazi", "789", "烫头");

1. 创建视图 
	语法: CREATEA VIEW 视图名字   AS  SELECT 语句; 
2. 查询视图
	语法:SELECT * FROM 视图名;
3. 查看视图结构
	语法:desc 视图名
4. 修改视图
	语法: ALTER VIEW 视图名称 AS SQL语句 ;

5. 删除视图
	语法: DROP VIEW 视图名称 

代码

CREATE TABLE `user` (
	uid INT PRIMARY KEY AUTO_INCREMENT,
	uname VARCHAR(30) NOT NULL,
	username VARCHAR(20) UNIQUE NOT NULL,
	`password` VARCHAR(20) NOT NULL,
	hobby VARCHAR(20) NOT NULL
);

INSERT INTO `user` VALUE (NULL, "张三", "zhangsan", "123", "抽烟"),
			(NULL, "李四", "lisi", "456", "喝酒"),
			(NULL, "张二麻子", "zhangermazi", "789", "烫头");


select * from user;

#创建视图
create view user_view as select uid,uname,hobby from user;

#查询视图
select * from user_view;

#创建用户
CREATE USER 'zhangsan' @'%' IDENTIFIED by '123';

#授权
grant select on day09.user_view to 'zhangsan'@'%';

#查看表结构
desc user_view;

#修改视图
alter view user_view as select uname,hobby from user;

#删除视图
drop view user_view;
原文地址:https://www.cnblogs.com/conglingkaishi/p/15215435.html