【MySQL-8】MySQL视图/用户管理

 

目录

1. 整体学习思维导图

2. 视图

2.1 视图的概念

2.2 视图的创建和使用

2.3 视图规则和限制

3. 用户管理

3.1 用户

3.1.1 用户信息存放

3.1.2 创建一个用户

3.1.3 删除一个用户

3.1.4 修改用户密码

3.2 数据库权限 

3.2.1 给用户授权

3.2.2 回收权限


 

1. 整体学习思维导图

2. 视图

2.1 视图的概念

视图就是一个虚拟表,它可以将我们select语句查询的结果创建并且存储在一个新的虚拟表(视图)中,并且这个虚拟表和原表之间的关系相连密切,无论修改哪一方都会影响另一方。

2.2 视图的创建和使用

  • 创建视图

create view 视图名 as select语句;

案例:

mysql> create view myview as select ename,dname from emp inner join dept on emp.deptno=dept.deptno;Query OK, 0 rows affected (0.00 sec)
mysql> select * from myview;
+--------+------------+
| ename  | dname      |
+--------+------------+
| SMITH  | RESEARCH   |
| ALLEN  | SALES      |
| WARD   | SALES      |
| JONES  | RESEARCH   |
| MARTIN | SALES      |
| BLAKE  | SALES      |
| CLARK  | ACCOUNTING |
| SCOTT  | RESEARCH   |
| KING   | ACCOUNTING |
| TURNER | SALES      |
| ADAMS  | RESEARCH   |
| JAMES  | SALES      |
| FORD   | RESEARCH   |
| MILLER | ACCOUNTING |
+--------+------------+
14 rows in set (0.00 sec)

没有创建视图前: 

创建视图后: 

 

  • 删除视图

drop view 视图名;

2.3 视图规则和限制

  • 与表一样,必须唯一命名(不能出现同名视图或表名)

  • 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响视图不能添加索引,也不能有关联的触发器或者默认值

  • 视图可以提高安全性,必须具有足够的访问权限

  • order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖视图可以和表一起使用

3. 用户管理

3.1 用户

3.1.1 用户信息存放

MySQL数据库的用户信息存放在*mysql*数据库的user表中:

*************************** 4. row ***************************
                  Host: localhost
                  User: ouyang
           Select_priv: N
           Insert_priv: N
           Update_priv: N
           Delete_priv: N
           Create_priv: N
             Drop_priv: N
           Reload_priv: N
         Shutdown_priv: N
          Process_priv: N
             File_priv: N
            Grant_priv: N
       References_priv: N
            Index_priv: N
            Alter_priv: N
          Show_db_priv: N
            Super_priv: N
 Create_tmp_table_priv: N
      Lock_tables_priv: N
          Execute_priv: N
       Repl_slave_priv: N
      Repl_client_priv: N
      Create_view_priv: N
        Show_view_priv: N
   Create_routine_priv: N
    Alter_routine_priv: N
      Create_user_priv: N
            Event_priv: N
          Trigger_priv: N
Create_tablespace_priv: N
              ssl_type: 
            ssl_cipher: 
           x509_issuer: 
          x509_subject: 
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: mysql_native_password
 authentication_string: *1539B75515395E9F30FC71DF0D811A33872464F5
      password_expired: N
 password_last_changed: 2025-01-25 11:11:33
     password_lifetime: NULL
        account_locked: N
  • host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆

  • user: 用户名

  • authentication_string: 用户密码通过password函数加密后的

  • *_priv: 用户拥有的权限

3.1.2 创建一个用户

create user '用户名'@'登陆主机/ip' identified by '密码';  

注意:注册时密码过于简单会报错:

--ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

3.1.3 删除一个用户

drop user '用户名'@'主机名'  

3.1.4 修改用户密码

  • 自己改自己

set password=password('新的密码');
  • Root修改

set password for '用户名'@'主机名'=password('新的密码');

3.2 数据库权限 

3.2.1 给用户授权

grant 权限列表 on 库.对象名 to '用户名'@'登陆位置';
权限列表 grant select on ... grant select, delete, create on .... grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
  • . : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)

  • 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)

刷新权限:

flush privileges;

3.2.2 回收权限

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值