视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。
视图基本使用
![![[Pasted image 20260506205045.png]]](https://i-blog.csdnimg.cn/direct/3da1711507ce4f699abe37f9372d6618.png)
![![[Pasted image 20260506205135.png]]](https://i-blog.csdnimg.cn/direct/8fd48ab9fbe94e6b84483b635eb708ec.png)
![![[Pasted image 20260506205205.png]]](https://i-blog.csdnimg.cn/direct/680c397ca5b44174849e20013316d15a.png)
创建视图
create view 视图名 as select语句;
![![[Pasted image 20260506205255.png]]](https://i-blog.csdnimg.cn/direct/414e53a9621b4fdda9bfbc73cddd81c4.png)
![![[Pasted image 20260506205345.png]]](https://i-blog.csdnimg.cn/direct/c846101572bc4543974d5781d8c651ec.png)
- 修改了视图,对基表数据有影响
![![[Pasted image 20260506205410.png]]](https://i-blog.csdnimg.cn/direct/01ea63a0f1e04574a82ef270f33cb6ae.png)
![![[Pasted image 20260506205426.png]]](https://i-blog.csdnimg.cn/direct/10da7d6287844cce94e6529f614a6de9.png)
-
修改了基表,对视图有影响
![![[Pasted image 20260506205536.png]]](https://i-blog.csdnimg.cn/direct/9f75227a7b724287b1640bec0dd412d1.png)
-
删除视图
![![[Pasted image 20260506205621.png]]](https://i-blog.csdnimg.cn/direct/4b8c7c74e1a3443681f2e15f5547cb0f.png)
视图规则和限制
- 与表一样,必须唯一命名(不能出现同名视图或表名)
- 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
- 视图不能添加索引,也不能有关联的触发器或者默认值
- 视图可以提高安全性,必须具有足够的访问权限
- order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖
- 视图可以和表一起使用
用户管理
如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。
用户
用户信息
MySQL中的用户,都存储在系统数据库mysql的user表中
![![[Pasted image 20260507182910.png]]](https://i-blog.csdnimg.cn/direct/d21fae9846124d4cbf798d91643868b6.png)
![![[Pasted image 20260507183014.png]]](https://i-blog.csdnimg.cn/direct/b717b21ae85d4dafbd9acb15a245f35e.png)
字段解释:
- host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
- user: 用户名
- authentication_string: 用户密码通过password函数加密后的
*_priv: 用户拥有的权限
创建用户
语法:
create user '用户名'@'登陆主机/ip' identified by '密码';
![![[Pasted image 20260507183201.png]]](https://i-blog.csdnimg.cn/direct/54e7cc250d4f4f0095e3bb45550b8037.png)
- 允许进行远端登录
![![[Pasted image 20260507183758.png]]](https://i-blog.csdnimg.cn/direct/f93808eb38c343369f493b5c1494c12a.png)
删除用户
语法:
drop user '用户名'@'主机名'
![![[Pasted image 20260507183557.png]]](https://i-blog.csdnimg.cn/direct/cb5071a0921a42a288f758e9bc7468b1.png)
修改用户密码
语法:
- 自己改自己密码
set password=password('新的密码');
-
直接修改user表
![![[Pasted image 20260507184325.png]]](https://i-blog.csdnimg.cn/direct/e7a2d2f92ef94d4ebcd18b527051ef79.png)
-
root用户修改指定用户的密码
set password for '用户名'@'主机名'=password('新的密码');
![![[Pasted image 20260507184058.png]]](https://i-blog.csdnimg.cn/direct/ec9076ad68e84538a20f24233444e556.png)
数据库的权限
MySQL数据库提供的权限列表:
| 权限 | 列 | 上下文 |
|---|---|---|
| CREATE | Create_priv | 数据库、表或索引 |
| DROP | Drop_priv | 数据库或表 |
| GRANT OPTION | Grant_priv | 数据库、表或保存的程序 |
| REFERENCES | References_priv | 数据库或表 |
| ALTER | Alter_priv | 表 |
| DELETE | Delete_priv | 表 |
| INDEX | Index_priv | 表 |
| INSERT | Insert_priv | 表 |
| SELECT | Select_priv | 表 |
| UPDATE | Update_priv | 表 |
| CREATE VIEW | Create_view_priv | 视图 |
| SHOW VIEW | Show_view_priv | 视图 |
| ALTER ROUTINE | Alter_routine_priv | 保存的程序 |
| CREATE ROUTINE | Create_routine_priv | 保存的程序 |
| EXECUTE | Execute_priv | 保存的程序 |
| FILE | File_priv | 服务器主机上的文件访问 |
| CREATE TEMPORARY TABLES | Create_tmp_table_priv | 服务器管理 |
| LOCK TABLES | Lock_tables_priv | 服务器管理 |
| CREATE USER | Create_user_priv | 服务器管理 |
| PROCESS | Process_priv | 服务器管理 |
| RELOAD | Reload_priv | 服务器管理 |
| REPLICATION CLIENT | Repl_client_priv | 服务器管理 |
| REPLICATION SLAVE | Repl_slave_priv | 服务器管理 |
| SHOW DATABASES | Show_db_priv | 服务器管理 |
| SHUTDOWN | Shutdown_priv | 服务器管理 |
| SUPER | Super_priv | 服务器管理 |
给用户授权
刚创建的用户没有任何权限。需要给用户授权。
![![[Pasted image 20260507184602.png]]](https://i-blog.csdnimg.cn/direct/84d40db372934b7eab91be5b960e375d.png)
![![[Pasted image 20260507184827.png]]](https://i-blog.csdnimg.cn/direct/ae30e4bbac9f4ff6a4355d618698c863.png)
语法:
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
![![[Pasted image 20260507184921.png]]](https://i-blog.csdnimg.cn/direct/de7bfa39fc1547b4aa7e345255ed18cc.png)
![![[Pasted image 20260507184933.png]]](https://i-blog.csdnimg.cn/direct/5b0d4f4754ef4e2f8a40095bf879d370.png)
![![[Pasted image 20260507185034.png]]](https://i-blog.csdnimg.cn/direct/f947914db7cf4e1aa0caa734bdb790d5.png)
- 权限列表,多个权限用逗号分开
grant select on ...
grant select, delete, create on ....
grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
*.*: 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)库.*: 表示某个数据库中的所有数据对象(表,视图,存储过程等)- identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户
如果发现赋权限后,没有生效,执行如下指令
flush privileges;
![![[Pasted image 20260507183306.png]]](https://i-blog.csdnimg.cn/direct/4d92e680a6904d919b853a2ab531538a.png)
回收权限
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
- 回收insert
![![[Pasted image 20260507185141.png]]](https://i-blog.csdnimg.cn/direct/04d345be6d1c4f3e9cf2d900d8785fe4.png)
![![[Pasted image 20260507185223.png]]](https://i-blog.csdnimg.cn/direct/03a253ec587544edb81ef675ba92a12e.png)
- 回收delete
![![[Pasted image 20260507185314.png]]](https://i-blog.csdnimg.cn/direct/01e37d3175e84258a16e59e4ccc75d12.png)
![![[Pasted image 20260507185321.png]]](https://i-blog.csdnimg.cn/direct/dc65a2fa9ae04c44a3cdd87debffc715.png)
- 回收全部权限
![![[Pasted image 20260507185400.png]]](https://i-blog.csdnimg.cn/direct/4d9e8bcd3b5e47b9ab1bf5cba124c845.png)
![![[Pasted image 20260507185414.png]]](https://i-blog.csdnimg.cn/direct/4485763af43e4e098fba24f38e08fdde.png)
- 给select权限
![![[Pasted image 20260507185522.png]]](https://i-blog.csdnimg.cn/direct/40b230cab1974f6c8b467941e3314667.png)
![![[Pasted image 20260507185545.png]]](https://i-blog.csdnimg.cn/direct/30db1e76c717430eb9f0fc246defd290.png)
624



被折叠的 条评论
为什么被折叠?



