数据库——视图与权限

视图
   一、定义:
    视图是一个虚拟表,其内容由查询定义。
    同真实的表一样,视图包含一系列带有名称的列和行数据。
    视图的数据变化会影响到基表,基表的数据变化也会影响到视图。 
   二、基本操作:
    创建视图:
     create view 视图名 as select语句;
    修改视图,影响基表:
     update view_ename_dname set deptno=10 where ename='KING';修改视图
    修改基表,影响视图:
     update EMP set deptno=20 where ename='JAMES'; -- 修改基表 
    删除视图:
    drop view 视图名;
    实例:(虚表)
     create view view_ename_dname as     
     select ename, dname  from EMP, DEPT
     where EMP.deptno=DEPT.deptno;
     select * from view_ename_dname;  
   三、视图与表的区别:
        表要占用磁盘空间,视图不需要 
        视图不能添加索引 
        使用视图可以简化查询
        视图可以提高安全性
用户管理
   一、用户
     1、用户信息:
     MySQL中的用户,都存储在系统数据库mysql的user表。
     select host,user,authentication_string from user; 
     
+-----------+---------------+-------------------------------------------+
| host      | user          | authentication_string                     |
+-----------+---------------+-------------------------------------------+
| localhost | root          | *437F1809645E0A92DAB553503D2FE21DB91270FD |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
 host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
 user:用户名 
 authentication_string:用户密码通过password函数加密后的
 *_priv:用户拥有的权限 
      2、创建用户
       create user '用户名'@'登陆主机/ip' identified by '密码';
      3、删除用户;
       drop user '用户名'@'主机名'
      4、修改密码
        自己改自己:
           set password=password('新的密码');
        root用户修改指定用户的密码
            set password for '用户名'@'主机名'=password('新的密码');
            set password for 'litao'@'localhost'=password('abcdefg');
            Query OK, 0 rows affected (0.00 sec)
    二、数据库权限:
        
    
        1、用户授权:
         grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
              权限列表,多个权限用逗号分开
           *.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
           库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等) 
           identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户
        2、回收权限:
          revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
          

猜你喜欢

转载自blog.csdn.net/fayfayfaydyt/article/details/82191549