• 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;
    
  • 相关阅读:
    Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型
    如何防止网站短信验证码被攻击
    JS和C#.NET获取客户端IP
    H5案例分享:移动端touch事件判断滑屏手势的方向
    防止asp.net连续点击按钮重复提交
    JS正则表达式验证手机号和邮箱
    sql server查询数据库的大小和各数据表的大小
    大型分布式网站架构技术总结
    一个高逼格开发者必须理解的大型分布式网站的几点概念
    C# 在程序中控制IIS服务或应用程序池关闭重启
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/15215435.html
Copyright © 2020-2023  润新知