• 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;
    
  • 相关阅读:
    docker入门
    centOS7安装docker步骤
    Linux常用命令——持续更新(2018-05-09)
    tomcat服务器配置java堆内存大小
    无法启动FTP站点,服务目前停止
    windows搭建FTP服务器实战
    远程桌面无法复制粘贴
    git基本操作---持续更新(2017-08-11)
    java web项目初始化启动一个java方法
    java读取properties文件中参数值
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/15215435.html
Copyright © 2020-2023  润新知