视图

视图是什么?

视图的应用场景?

创建视图

mysql> create view v1 as
    -> select e.name as '员工姓名',d.name as '部门' from emp e inner join dep d on e.id = d.id   order by e.name  desc;
Query OK, 0 rows affected (0.01 sec)

查看视图结构

在这里插入图片描述

使用视图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看视图的基本信息

mysql> show table status like 'v2' \G;
*************************** 1. row ***************************
           Name: v2
         Engine: NULL
        Version: NULL
     Row_format: NULL
           Rows: NULL
 Avg_row_length: NULL
    Data_length: NULL
Max_data_length: NULL
   Index_length: NULL
      Data_free: NULL
 Auto_increment: NULL
    Create_time: NULL
    Update_time: NULL
     Check_time: NULL
      Collation: NULL
       Checksum: NULL
 Create_options: NULL
        Comment: VIEW
1 row in set (0.00 sec)

查看所有视图

 show table status where comment = 'view';

在这里插入图片描述

修改视图

1.alter view 视图名 as 查询语句;()

在这里插入图片描述

在这里插入图片描述
2.create or replace view视图名 as 查询逻辑

mysql> select * from emp;
+----+--------+---------+
| id | name   | salary  |
+----+--------+---------+
|  1 | 徐庶   |  130.00 |
|  2 | 李四   | 3330.00 |
|  3 | 妲己   | 1200.00 |
+----+--------+---------+
3 rows in set (0.00 sec)

mysql> create or replace view v1 as
    -> select name as '姓名' ,salary as '薪水' ,(case when salary >= 3000 then '高' when salary>=1000 then '一般' else '低' end) as'薪水级别' from emp order by salary desc;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from v1;
+--------+---------+--------------+
| 姓名   | 薪水    | 薪水级别     |
+--------+---------+--------------+
| 李四   | 3330.00 ||
| 妲己   | 1200.00 | 一般         |
| 徐庶   |  130.00 ||
+--------+---------+--------------+
3 rows in set (0.00 sec)


删除视图

mysql> drop view v3;
Query OK, 0 rows affected (0.00 sec)

mysql> desc v3;
ERROR 1146 (42S02): Table 'test.v3' doesn't exist

更新操作

视图和表一样,也可以进行insert,update,delete操作,但所包含分组函数、group by, distinct,having ,order by等关键字市不可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值