zoukankan      html  css  js  c++  java
  • 数据库作业

    创建新用户:

    CREATE USER u1 IDENTIFIED BY 'Csq200215';

    CREATE USER u2 IDENTIFIED BY 'Csq200215';

    。。。

    CREATE USER u7 IDENTIFIED BY 'Csq200215';

    创建了7个普通用户

     1.在public模式下:

    2.在cindy模式下:

    1. 在public模式下:

    4.1把查询Student表权限授给用户U1
    首先自己创建了U1用户
    CREATE USER u1 IDENTIFIED BY 'user@123';
    GRANT SELECT ON TABLE Student TO U1;
    自己运行效果:
    用户U1只能在public模式下查询student表数据,(别的操作都不可以)对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。


    4.2把对Student表和Course表 的全部权限授予用户U2和U3
    首先自己创建了U2 U3用户
    GRANT ALL PRIVILEGES ON TABLE Student, Course TO U2, U3;
    自己运行效果:
    用户U2和U3能在public模式下对student和course表进行任何操作(增删查改),但对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

     

     

    4.3把对表SC的查询权限授予所有用户
    GRANT SELECT ON TABLE SC TO PUBLIC;
    自己运行效果:
    用户U1、U2和U3(全部用户)能在public模式下对sc表进行查询操作(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

     

    4.4把查询Student表和修改学生学号的权限授给用户U4
    GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;
    自己运行效果:
    用户U4能在public模式下对student表进行查询操作和修改学生学号(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息。

     

    4.5把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
    GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;
    自己运行效果:
    用户U5能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U5具备传播权限。

     

    4.6用户U5登陆情况下 U5传播INSERT权限给U6,U6也具备传播权限


    GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;
    自己运行效果:
    用户U6能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U6具备传播权限

    4.7用户U6登陆情况下 U7具备INSERT权限,但不具备传播权限

    自己运行效果:


    用户U7能在public模式下对sc表进行插入操作、查询也可以(别的操作都不可以),对别的任何表都无法做到任何操作,在界面中也找不到其余表的信息,U7不具备传播权限

    4.8把用户U4修改学生学号的权限收回
    REVOKE UPDATE(Sno) ON TABLE Student FROM U4;
    自己运行效果:


    在对应数据库work4中,用户U4无法修改学生学号

    4.9收回所有用户对表SC的查询权限
    REVOKE SELECT ON TABLE SC FROM PUBLIC;
    自己运行效果:


    全部用户无法查询SC表

    4.10把用户U5对SC表的INSERT权限 收回
    REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;
    自己运行效果:


    在对应数据库work4中,用户U5、U6、U7不能在public模式下对sc表进行插入操作。

    2.在cindy模式下:

    4.1 把查询activity的表的权限赋值给u1:

    GRANT SELECT ON TABLE activity TO u1;

    grant usage on schema cindy to u1;(这个是把cindy模式赋值给u1)

    进入u1查看:select * from cindy.activity;

    4.2  把查询activity表和baoxiao表的权限赋值给u2和u3

    GRANT SELECT ON TABLE activity,baoxiao TO u2,u3;

    将cindy的模式赋值一下:

    测试一下u2:

    4.3 把查询sa表的权限赋值给public(所有成员);

     GRANT SELECT ON TABLE sa TO public;

    4.4 把查询baoxiao表和修改报销最大金额的权限授权给用户U4;

    GRANT UPDATE(bmax),SELECT ON TABLE baoxiao TO u4;

    4.5 把对表student INSERT的权限赋值给u5

    GRANT INSERT ON TABLE student TO u5 WITH GRANT OPTION;

    插入一条数据:

    INSERT  INTO  cindy.student  VALUES ('20181320','人','4',3,'13566666666','0004');

    到cindy下看看:

    4.6 u5把插入student表的权限赋值给u6

    grant insert on table cindy.student to u6 with grant option;

    INSERT  INTO  cindy.student  VALUES ('20181102','哈哈','4',3,'13588111666','0004');

    查看一下:

    4.7.u6把插入student表的权限赋值给u7

    grant insert on table cindy.student to u7;

    INSERT  INTO  cindy.student  VALUES ('20181002','ok','4',3,'1355555555','0004');

     

    测试一下是否可以更新成功~。

    可知更新失败。

    4.9.收回所有用户对表sa的查询权限。

    执行成功之后我们发现在每个u1到u7,teach数据库下的cindy模式下的普通表均少了一张sa表。

    4.10 把用户u5对SC表的INSRET权限收回。

    我们可以发现:此时在u5中执行插入语句失败,说明我们的操作是成功的。

  • 相关阅读:
    android修改debug keystore文件使之和正式keystore sha1一致
    scrollView中可以自由滚动的listview
    android gradle的全局管理
    OpenGL学习笔记(三)
    OpenGL学习笔记(二)
    OpenGL学习笔记(一)
    Java编程代码规范中值得留意的地方
    mac上编译Android的arm64位ffmpeg
    入门程序员必读的10本经典书单
    [Android文档翻译]设备兼容性
  • 原文地址:https://www.cnblogs.com/cindy123456/p/14730378.html
Copyright © 2011-2022 走看看