MySQL 笔记7 -- 权限操作与视图
MySQL 笔记7 – 权限操作与视图
MySQL 系列笔记是笔者学习、实践MySQL数据库的笔记
课程链接: MySQL 数据库基础入门教程
参考文档:
MySQL 官方文档
SQL 教程
一、权限操作
1、权限
- 限制用户对数据库进行的操作类型
- root 管理员拥有全部权限,可以为每个用户设置不同的权限
- 在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限
2、权限类别
权限类别 | 说明 |
---|---|
CREATE | 创建数据库、表或索引权限 |
DROP | 删除数据库或表权限 |
ALTER | ALTER更改表,比如添加字段、索引等 |
DELETE | 删除数据权限 |
INDEX | 索引权限 |
INSERT | 插入权限 |
SELECT | 查询权限 |
UPDATE | 更新权限 |
CREATE VIEW | 创建视图权限 |
EXECUTE | 执行存储过程权限 |
3、权限命令
功能 | 命令 |
---|---|
创建用户 | CREATE USER ‘用户名’@‘localhost’ IDENTIFIED BY ‘密码’; |
删除用户 | DROP USER 用户名称 |
分配权限 | GRANT 权限 (columns) ON 数据库对象 TO 用户 IDENTIFIED BY “密码” WITH GRANT OPTION |
刷新配置信息 | flush privileges; |
查看权限 | show grants |
查看指定用户的权限 | show grants for root@localhost |
删除权限 | REVOKE 权限 ON 数据库对象 FROM 用户; |
- WITH GRANT OPTION:能向下继续授予权限
- 数据库对象:所有数据库:.;某个数据库:数据库名.*;某个表:数据库名.表名
二、视图
1、视图
- 视图是一个虚拟表(引用基表,并没有真实的数据),其内容由查询定义
- 同真实的表一样,视图包含一系列带有名称的列和行数据
- 行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成
- 简单的来说视图是由select结果组成的表
2、视图的特性
- 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果
- 不存储具体的数据(基本表数据发生了改变,视图也会跟着改变)
- 可以跟基本表一样,进行增删改查操作(增删改操作有条件限制)
3、视图的作用
- 安全性:创建一个视图,定义好该视图所操作的数据,之后将用户权限与视图绑定。grant语句可以针对视图进行授予权限。
- 查询性能提高
- 提高了数据的独立性
3、视图命令
创建视图:
CREATE [ALGORITHM]={UNDEFINED|MERGE|TEMPTABLE}]VIEW 视图名 [(属性清单)]AS SELECT 语句[WITH [CASCADED|LOCAL] CHECK OPTION];
- ALGORITHM 参数
- merge:处理方式替换式,可以进行更新真实表中的数据。将视图公式替换后,当成一个整体sql进行处理了
- TEMPTABLE:具化式,由于数据存储在临时表(存在内存)中,所以不可以进行更新操作。先处理视图结果,后处理对视图的查询需求
- UNDEFINED:mysql更倾向于选择替换方式,因为它更加有效
- WITH CHECK OPTION:更新数据时不能插入或更新不符合视图限制条件的记录
- LOCAL和CASCADED:决定了检查测试的范围,默认值为CASCADED
修改视图:
drop view 视图名称;
4、视图不可更新部分
- 聚合函数;
- DISTINCT 关键字;
- GROUP BY子句;
- HAVING 子句;
- UNION 运算符;
- FROM 子句中包含多个表;
- SELECT 语句中引用了不可更新视图;
- 只要视图当中的数据不是来自于基表,就不能够直接修改
GOOD LUCK!
MySQL 笔记7 -- 权限操作与视图相关推荐
- MYSQL笔记:删除操作Delete、Truncate、Drop用法比较
今天小编给大家梳理一下MYSQL删除操作Delete.Truncate.Drop用法有什么区别,到底该如何合理使用,希望对大家能有帮助! 1.执行速度比较 Delete.Truncate.Drop关键 ...
- mysql DCL 数据权限操作指令
DCL DCL是Data Control Language的缩写,主要包括数据权限有关的操作指令 用户管理操作 创建用户 -- username:用户名,ip:该用户访问ip,password:密码, ...
- 【MySQL】 # MySQL对用户权限的简单操作:(1)创建新用户(2)赋权限
MySQL对用户权限操作的详细内容:MySQL权限操作 1. 创建新用户 一般使用 Navicat 直接登录 MySQL,也可以使用命令行 mysql -u root -p,然后输入密码即可. 1.1 ...
- x509mysql_涂抹mysql笔记-数据库中的权限体系
涂抹mysql笔记-数据库中的权限体系 <>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确. mysql验证用户需要检查3项值:用户名.密码和主机来源(user.passwor ...
- mysql角色附权和解除权限_MySql授权和撤销权限操作
MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 用户后面可以加@'ip地址' identified by '密码' 例如: grant all on ...
- mysql 函数权限控制_MySql授权和撤销权限操作
MySql授权和撤销权限操作 作者:PHPYuan 时间:2018-10-05 03:41:17 MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 用户 ...
- MySQL笔记:第14章_视图
第14章_视图 1. 常见的数据库对象 2. 视图概述 2.1 为什么使用视图? 2.2 视图的理解 演示 3. 创建视图 3.1 创建单表视图 3.2 创建多表联合视图 3.3 基于视图创建视图 演 ...
- 数据库基础笔记(MySQL)7 —— 存储引擎和视图 ( 完结撒花 )
存储引擎 实在是学浅才疏,只能大致写点,放篇大佬的,看详细的去吧 传送门 ,等我闲下来学会了再来补充 即一个表存储数据的方式,不同的存储引擎会提供不同的功能,性能等 可以用 engine 指定存储引擎 ...
- 浅显易懂 SQLite3 笔记(07)— 数据库视图简介及操作
文章目录 前言 一.数据库系统的三级模式 二.视图定义和作用 1.什么是视图? 2.视图的作用? 三.SQL语句操作视图 1.创建视图 2.查询视图 3.更新视图 4.修改视图 5.删除视图 总结 前 ...
最新文章
- 复杂性理论研究的核心问题是什么
- linux进程网络均衡,linux多CPU进程负载均衡解析
- 【转】“线程间操作无效: 从不是创建控件的线程访问它”
- 3389改为3390端口如何改
- IP,IP地址,mac地址
- 博弈-巴什博奕-P/N图
- Python 第七篇:socket编程
- Magento WebServices SOAP API 创建和使用
- Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
- geoserver 发布mysql_Geoserver(四) 发布mysql表数据
- Postfix权威指南阅读笔记
- 计算机系统盘怎么扩充,扩大c盘空间,小编教你如何扩大C盘空间
- java中decrement,Java LongAdder decrement()用法及代碼示例
- 自用笔记17——泰波那契数列
- 2019初创企业投融资服务平台都有哪些?
- L1-040 最佳情侣身高差 (10 分)java
- 第1章 Oracle教程
- PAT-团体程序设计天梯赛-练习集-L1-039. 古风排版
- 微笑到颠笑,各种笑不停的英语说法
- css漂亮的侧导航栏,CSS3实现的可缩进的侧栏导航菜单