视图是从数据库中的一个或多个表中导出来的虚拟表,起作用是方便用户对数据的操作。
视图是存储在数据库汇总的查询的sql语句
1,创建视图
1 mysql> createview
2 -> user_view(username,password)
3 -> asselect username,passwordfromuser
4 -> ;
5 Query OK, 0 rows affected (0.09 sec)
2,修改视图
6 mysql> createorreplaceview user_view(username) asselect username fromuser;
7 Query OK, 0 rows affected (0.19 sec)
8
9 mysql> desc user_view;
10 +----------+-------------+------+-----+---------+-------+
11 Field Type Null Key Default Extra
12 +----------+-------------+------+-----+---------+-------+
13 username varchar(50) NO NULL
14 +----------+-------------+------+-----+---------+-------+
15 1 row inset (0.05 sec)
第一句修改了user_view视图
第二句查看user_view的结构,跟查看表结构一样
3,操作视图的时候,就是在操作一个表格,可以把视图当做表处理
16 mysql> insertinto user_view values('1','1');
17 Query OK, 1 row affected (0.06 sec)
18
19 mysql> select * from user_view;
20 +----------+----------+
21 username password
22 +----------+----------+
23 kenan kenan
24 kenan lele
25 lele lele
26 1 1
27 +----------+----------+
28 4 rowsinset (0.00 sec)
29
30 mysql> select * fromuser;
31 +----+----------+----------+---------------------+
32 id username password createtime
33 +----+----------+----------+---------------------+
34 1 kenan kenan 2012-10-31 15:32:26
35 3 kenan lele 2012-10-31 15:32:26
36 4 lele lele NULL
37 5 1 1 NULL
38 +----+----------+----------+---------------------+
39 4 rowsinset (0.00 sec)
当对视图进行插入操作的时候,就是对实体表进行插入操作
4,删除视图
40 mysql> dropview if exists user_view;
41 Query OK, 0 rows affected (0.00 sec)
42
43 mysql> desc user_view;
44 ERROR 1146 (42S02): Table'test.user_view' doesn't exist
本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1048537
该贴被eink编辑于2012-11-16 10:02:50