MySQL数据库视图(一看就会!!!)

视图是什么

视图本质上是个虚拟的表,只有表结构,数据来源于真实的表

通常用于查询场景

 为什么要用视图

 

 

视图操作

视图被创建后可以象普通表来使用,主要是查询

对视图操作基表会改变,反之亦然

 

视图相关练习

[root@server51 ~]# mysql -hlocalhost -uroot -p'123qqq...A'    #登录MySQL服务

mysql> CREATE DATABASE viewdb;        #创建练习库

创建视图
mysql> CREATE VIEW viewdb.v1 AS 
    -> SELECT name,uid,shell FROM tarena.user;            #创建视图引用原表字段名

mysql> CREATE VIEW viewdb.v2(用户名,用户id,解释器) AS         
    -> SELECT name,uid,shell FROM tarena.user;            #创建视图自定义字段名

mysql> CREATE VIEW viewdb.emp(name,email,dept_name) AS
    -> SELECT e.name,e.email,d.dept_name FROM 
    -> tarena.employees AS e INNER JOIN tarena.departments AS d
    -> ON e.dept_id=d.dept_id;                            #联表视图

mysql> SHOW TABLES FROM viewdb;                            #查看指定库下表(视图是特殊表)

使用视图(SELECT为主要场景)
mysql> SELECT * FROM viewdb.v1;                #对v1执行查询操作

mysql> SELECT * FROM viewdb.v2;                #对v2执行查询操作

mysql> SELECT * FROM viewdb.emp;            #对emp执行查询操作

查看视图                                    

查看创建视图的具体命令:

show create  view 视图名;

mysql> SHOW TABLE STATUS FROM viewdb\G        #视图Comment: VIEW

mysql> SHOW TABLE STATUS FROM tarena\G        #真实表Comment: 

mysql> SHOW CREATE VIEW viewdb.emp;            #查看创建视图完整语句

删除使用

语法格式:

drop view  视图名;

mysql> DROP VIEW viewdb.v1;                    #删除视图