目录
1. 视图
-
1.1 基本概念
- 视图是虚拟表,其内容由查询定义。
- 视图包含一系列带有名称的列和行数据。
- 视图和基表的数据变化会相互影响。
-
1.2.基本使用
- 创建视图
- create view 视图名 as select语句;
- 删除视图
- drop view 视图名;
- 创建视图
-
1.3 视图规则和限制
- 命名唯一
- 视图数目不限制
- 视图不能添加索引
- order by可以用在视图中,若该视图检索数据select中也含有order by,则视图中的会被覆盖。
2. 用户管理
- MySQL可以使用多用户
- MySQL中的用户都存储在系统数据库mysql的user表中
-
2.1 用户
- 查看当前用户信息
- select host,user,authentication_string from user;
- host:表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
- user:用户名
- authentication_string:用户密码通过password函数加密后的
- select host,user,authentication_string from user;
- 创建用户
- create user '用户名'@'登陆主机/ip' identified by '密码';
- 删除用户
- drop user '用户名'@'主机名'
- 修改用户密码
- 用户自己更改密码
- set password=password('新的密码');
- root用户修改指定用户的密码
- set password for '用户名'@'主机名'=password('新的密码');
- 用户自己更改密码
- 查看当前用户信息
-
2.2 数据库的权限
- 给用户授权
- grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
- 权限列表,多个权限用逗号分开
- grant select, delete, create on ...
- 赋予所有权限
- grant all on ...
- *.*
- 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
- 库.*
- 表示某个数据库中的所有数据对象(表,视图,存储过程等)
- identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户
- 权限列表,多个权限用逗号分开
- 赋予权限后,没有生效
- flush privileges;
- grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
- 回收权限
- revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
- 给用户授权