EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • MySQL-基础

    • MySQL-简介
    • MySQL-CRUD
    • MySQL-函数
    • MySQL 多表查询
    • MySQL 约束与自增长
    • MySQL 索引与事务
    • MySQL 表类型和存储引擎
    • MySQL 视图与管理
      • 视图(view)
        • 看需求
        • 基本概念
        • 视图的基本使用
        • 视图细节讨论
        • 视图最佳实践
        • 视图课堂练习
      • Mysql管理
        • Mysql 用户
        • 创建用户
        • 删除用户
        • 用户修改密码
        • mysql中的权限
        • 给用户授权
        • 回收用户权限
        • 权限生效指令
        • 课堂练习题
        • 细节说明
  • MySQL-进阶

    • MySQL 存储引擎
    • MySQL 索引
    • MySQL SQL优化
    • MySQL 视图/存储过程/触发器
    • MySQL 锁
    • MySQL InnoDB引擎
    • MySQL 管理
  • MySQL-运维

    • MySQL 日志
    • MySQL 主从复制
    • MySQL 分库分表
    • MySQL 读写分离
  • NoSQL 数据库概论

    • 非关系型数据库
    • NoSQL数据库理论基础
    • NoSQL数据库分类
  • Redis

    • Redis 数据库简介
    • Redis 概述安装
    • 常用五大数据类型
    • Redis 配置文件
    • Redis 发布和订阅
    • Redis 新数据类型
    • Redis Java整合
    • Redis 事务与锁
    • Redis 持久化操作
    • Redis 主从复制
    • Redis 集群搭建
    • Redis 缓存问题
    • Redis 分布式锁
    • Redisson 的应用
    • Redis 6.0新功能
  • MongoDB

    • MongoDB 相关概念
    • MongoDB 安装
    • MongoDB 常用命令
    • MongoDB 索引-Index
    • MongoDB 整合Java案例
    • MongoDB 集群和安全
  • HBase

    • HBase简介
    • HBase系统架构
    • HBase数据定义
    • HBase数据操作
    • HBase基本原理
  • MyBatis

    • MyBatis 入门案例
    • XML 配置
    • XML 映射文件
    • 动态SQL
    • 缓存
    • MyBatis的逆向工程
    • 分页插件
  • MyBatis-Plus

    • MyBatis-Plus 简介
    • MyBatis-Plus 入门案例
    • MyBatis-Plus 基本CRUD
    • MyBatis-Plus 常用注解
    • 条件构造器和常用接口
    • MyBatis-Plus 插件
    • MyBatis-Plus 通用枚举
    • MyBatis-Plus 代码生成器
    • MyBatis-Plus 多数据源
    • MyBatisX插件
  • ShardingSphere

    • ShardingSphere_高性能架构模式
    • ShardingSphere 简介
    • ShardingSphere 主从同步
    • ShardingSphere_JDBC 读写分离
    • ShardingSphere-JDBC垂直分片
    • ShardingSphere-JDBC水平分片
    • 启动ShardingSphere-Proxy
    • ShardingSphere-Proxy读写分离
    • ShardingSphere-Proxy垂直分片
  • studynotes
  • database
  • MySQL
wufan
2022-09-13
目录

MySQL 视图与管理

# MySQL 视图与管理

# 视图(view)

# 看需求

04

# 基本概念

  1. 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)
  2. 视图和基表关系的示意图

04

# 视图的基本使用

  1. create view视图名as select语句
  2. alter view视图名as select语句   --更新成新的视图
  3. SHOW CREATE VIEW 视图名
  4. drop view视图名1,视图名2
-- 视图的使用
-- 创建一个视图 emp_view01,只能查询emp表的(emp、ename、job和deptno)信息


-- 创建视图
CREATE VIEW emp_view01
	AS
	SELECT empno,ename,job,deptno FROM emp;
	
	
-- 查看视图
DESC emp_view01

SELECT  * FROM emp_view01
SELECT empno,job FROM emp_view01;

-- 查看创建视图的指令
SHOW CREATE VIEW emp_view01
-- 删除视图
DROP VIEW emp_view01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 视图细节讨论

04

-- 视图的细节
-- 1.创建视图后,到数据库去看,对应视图只有一个视图结构文件(形式:视图名.frm)
-- 2.视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete ]

-- 修改视图
UPDATE emp_view01 
	SET job='manager' 
	WHERE empno=7369
	
SELECT * FROM emp
SELECT * FROM emp_view01

-- 修改基本表,会影响到视图
UPDATE  emp
	SET job='SALESMAN'
	WHERE empno=7369
	
	
-- 3.视图中可以使用视图,比如emp_view 01视图中,选出empno,和ename 作出新视图
 DESC	emp_view01
 
 CREATE VIEW emp_view02
	AS
	SELECT empno,ename FROM emp_view01

SELECT * FROM emp_view02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 视图最佳实践

04

# 视图课堂练习

针对emp , dept,和salgrade张三表.创建一个视图emp_view03,可以显示雇员编号,雇员名,雇员部门名称和薪水级别[即使用三张表,构建一个视图] view02.sql

-- 视图的练习
-- 针对 emp,dept,和salgrade 张三表,创建一个视图 emp_view03
-- 可以显示雇员编号,雇员名,雇员部门名称和薪水级别[即使用三张表,构建一个视图] view02.sql
/*
分析:使用三表联合查询,得到结果

*/

CREATE VIEW emp_view03
	AS
    SELECT  empno,ename,dname,grade
	FROM emp,dept,salgrade 
	WHERE emp.deptno=dept.deptno AND 
	(sal BETWEEN losal AND hisal)
	
DESC emp_view03

SELECT  * FROM emp_view03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# Mysql管理

# Mysql 用户

04

04

# 创建用户

create user  '用户名 '@'允许登录位置'identified by ‘密码'

说明:创建用户,同时指定密码

# 删除用户

drop user ‘用户名’@’允许登录位置’;

# 用户修改密码

修改自己的密码: set password = password('密码'); 修改他人的密码(需要有修改用户密码权限): set password for '用户名'@'登录位置'= password(密码');

# mysql中的权限

04

# 给用户授权

04

# 回收用户权限

基本语法:revoke权限列表on库.对象名from '用户名"@"登录位置';

# 权限生效指令

如果权限没有生效,可以执行下面命令.

  • 基本语法: FLUSH PRIVILEGES;

# 课堂练习题

创建一个用户(你的名字,拼音),密码123,并且只可以从本地登录,不让远程登录mysql 创建库和表testdb下的news表,要求:使用root用户创建 给用户分配查看news表和添加数据的权限 测试看看用户是否只有这几个权限 修改密码为abc ,要求:使用root用户完成重新登录 示回收权限 使用root 用户删除你的用户 演示回收权限

-- 演示用户权限的管理
-- 创建用户 rongxu 密码 123,从本地登录
CREATE USER 'rongxu'@'localhost ' IDENTIFIED BY '123'

-- 使用root 用户创建 testdb,表news
CREATE DATABASE testdb
CREATE TABLE news(	
	id INT,
	content VARCHAR(32))
	
-- 添加一条测试数据
INSERT INTO news VALUES(100,'北京新闻');
SELECT * FROM news

-- 给 rongxu 分配查看 news 表和添加news的权限
GRANT SELECT,INSERT
	ON testdb.news
	TO 'rongxu'@'localhost'
	
-- 可以增加权限
GRANT UPDATE
	ON testdb.news
	TO 'rongxu'@'localhost'
	
-- 修改rongxu密码为abc
SET PASSWORD FOR 'rongxu'@'localhost' =PASSWORD('abc')

-- 回收rongxu用户在testdb.news表的所有权限
REVOKE SELECT,UPDATE,INSERT ON testdb.news FROM 'rongxu'@'localhost'
REVOKE ALL testdb.news FROM 'rongxu'@'localhost'

-- 删除 rongxu用户
DROP USER 'rongxu'@'localhost'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# 细节说明

  1. 在创建用户的时候,如果不指定Host,则为%,%表示表示所有IP都有连接权限create user XXX;
  2. 你也可以这样指定 create user 'xxx' @'192.168.1.%’表示xxx用户在192.168.1.*的ip可以登录mysql
  3. 在删除用户的时候,如果host 不是%,需要明确指定‘用户'@'host值'
-- 在创建用户的时候,如果不指定Host,则为%,%表示表示所有IP都有连接权限
-- create user xXx;
CREATE USER jack;

SELECT `host`,`user` FROM mysql.user


-- 你也可以这样指定
-- create user 'xxx' @'192.168.1.%’表示 xxx用户在192.168.1.*的ip可以登录mysql

CREATE USER 'smith'@'192.168.1.%'
-- 在删除用户的时候,如果host 不是%,需要明确指定‘用户'@'host值'
 
DROP USER jack  -- 默认就是 DROP USER 'jack'@'%'

DROP USER 'smith'@'192.168.1.%'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#MySQL
上次更新: 2024/04/21, 09:42:22
MySQL 表类型和存储引擎
MySQL 存储引擎

← MySQL 表类型和存储引擎 MySQL 存储引擎→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式