视图
视图是一个虚拟表,其内容由查询定义。
- 创建视图
create view 视图名 as select ...(查询语句)
- 对视图的修改同对表的修改一样
- 删除视图
drop view 视图名;
视图的内容受被查询表的变化而变化
对视图的修改会影响到基表(被查询表)
总结
- 若视图select语句中已经排过序,那么对视图的排序将被覆盖
- 视图可以提高安全性,必须具有足够的访问权限
- 视图不能添加索引,也不能有关联的触发器或者默认值
- 视图可以和表一起使用
用户管理
查看用户
MySQL中的用户信息,都存储在系统数据库mysql的user表中
mysql> use mysql;
Database changed
mysql> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
- host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
- user: 用户名
- authentication_string: 用户密码通过password函数加密后的
- *_priv: 用户拥有的权限
增加用户
create user '用户名'@'登陆主机/ip' identified by '密码';
修改用户密码
自己修改自己的密码
set password=password('新的密码');
root用户修改其他用户密码
set password for '用户名'@'主机名'=password('新的密码');
用户权限
授权
- 被授予
GRANT OPTION
权限的用户可以授予或收回其他普通用户自身所拥有权限
授予增删查等权限,权限列表输入关键字(select等)
grant a权限,b权限 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
- 权限列表,多个权限用逗号分开
- *.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
库.*: 表示某个数据库中的所有数据对象(表,视图,存储过程等) - identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户
刷新权限
flush privileges;
回收权限
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
删除用户
drop user '用户名'@'主机名';