day09-2视图和用户权限( 二 )


  • 练习
    针对emp,dept,salgrade三张表 。创建一个视图emp_view03,可以显示雇员编号,雇员名,雇员部门名称和薪水级别 。
    -- 针对emp,dept,salgrade三张表 。-- 创建一个视图emp_view03,可以显示雇员编号,雇员名,雇员部门名称和薪水级别 。/* 分析: 1.使用三张表联合查询,得到结果 笛卡尔乘积 = 表1记录数*表2记录数*表3记录数 利用过滤条件 emp.deptno= dept.deptno AND sal>=losal AND sal<=hisal 2.将结果构建成视图*/CREATE VIEW emp_view03 AS SELECT empno,ename,dname,gradeFROM emp,dept,salgradeWHERE emp.deptno= dept.deptno ANDsal>=losal AND sal<=hisalDESC emp_view03SELECT * FROM emp_view03【day09-2视图和用户权限】
    day09-2视图和用户权限

    文章插图
    day09-2视图和用户权限

    文章插图
2.MySQL管理2.1Mysql用户管理
  • MySQL用户
mysql中的用户,都存储在系统数据库mysql中的user表中
day09-2视图和用户权限

文章插图
day09-2视图和用户权限

文章插图
其中user表的重要字段说明:
  1. host:允许登录的“位置“,localhost表示该用户只允许本机登录,也可以指定ip地址,如:192.168.1.100
  2. user:用户名
  3. authentication_string:密码,是通过mysql的password()函数加密之后的密码 。
  • 创建用户
create user '用户名'@'允许登录的位置' identified by '密码' -- 创建用户,同时指定密码
  • 删除用户
drop user '用户名'@'允许登录的位置';
例子
-- mysql用户管理-- 原因:当我们做项目开发时,可以根据不同的开发人员,赋给他们相应的操作权限-- 所以,mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用-- 1.创建新用户-- 1.1 'liyuelian'@'localhost' 表示用户的完整信息--'liyuelian' 用户名'localhost' 登录ip-- 1.2 123456 为密码,在mysql表存放的是password函数加密过后的密码--*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9CREATE USER 'liyuelian'@'localhost' IDENTIFIED BY '123456';SELECT `host`,`user`,authentication_string FROM mysql.user;-- 2.删除用户DROP USER 'liyuelian'@'localhost';-- 3.登录不同的数据库用户,登录到DBMS后,根据相应的权限,可以操作的数据库和数据对象(表,视图,触发器)都不一样
day09-2视图和用户权限

文章插图
  • 用户修改密码
-- 修改自己的密码set password = password('密码');-- 修改他人的密码(需要有修改用户密码权限)set password for'用户名'@'登录的位置' = password('密码');
例子
-- 修改本用户密码SET PASSWORD= PASSWORD('abcdef');-- 修改他人的密码(需要有修改用户密码权限)SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');-- 错误,提示权限不够-- 切换到root用户,修改一般用户的密码SET PASSWORD FOR 'olien'@'localhost' = PASSWORD('123456');-- 成功,root用户权限很高2.2Mysql权限管理
  • Mysql中的权限

day09-2视图和用户权限

文章插图