视图是从数据库中的一个或多个表中导出来的虚拟表,起作用是方便用户对数据的操作。

视图是存储在数据库汇总的查询的sql语句

1,创建视图

 
  1. mysql> create view 
  2.     -> user_view(username,password)  
  3.     -> as select username,password from user 
  4.     -> ;  
  5. Query OK, 0 rows affected (0.09 sec) 

2,修改视图

 
  1. mysql> create or replace view user_view(username) as select username from user;  
  2. Query OK, 0 rows affected (0.19 sec)  
  3.  
  4. mysql> desc user_view;  
  5. +----------+-------------+------+-----+---------+-------+  
  6. | Field    | Type        | Null | Key | Default | Extra |  
  7. +----------+-------------+------+-----+---------+-------+  
  8. | username | varchar(50) | NO   |     | NULL    |       |  
  9. +----------+-------------+------+-----+---------+-------+  
  10. 1 row in set (0.05 sec) 
第一句修改了user_view视图 第二句查看user_view的结构,跟查看表结构一样

3,操作视图的时候,就是在操作一个表格,可以把视图当做表处理

 
  1. mysql> insert into user_view values('1','1');  
  2. Query OK, 1 row affected (0.06 sec)  
  3.  
  4. mysql> select * from user_view;  
  5. +----------+----------+  
  6. | username | password |  
  7. +----------+----------+  
  8. | kenan    | kenan    |  
  9. | kenan    | lele     |  
  10. | lele     | lele     |  
  11. | 1        | 1        |  
  12. +----------+----------+  
  13. rows in set (0.00 sec)  
  14.  
  15. mysql> select * from user;  
  16. +----+----------+----------+---------------------+  
  17. | id | username | password | createtime          |  
  18. +----+----------+----------+---------------------+  
  19. |  1 | kenan    | kenan    | 2012-10-31 15:32:26 |  
  20. |  3 | kenan    | lele     | 2012-10-31 15:32:26 |  
  21. |  4 | lele     | lele     | NULL                |  
  22. |  5 | 1        | 1        | NULL                |  
  23. +----+----------+----------+---------------------+  
  24. rows in set (0.00 sec) 
当对视图进行插入操作的时候,就是对实体表进行插入操作

4,删除视图

 
  1. mysql> drop view if exists user_view;  
  2. Query OK, 0 rows affected (0.00 sec)  
  3.  
  4. mysql> desc user_view;  
  5. ERROR 1146 (42S02): Table 'test.user_view' doesn't exist