例1:
CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
`c2` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
root@localhost [testdb]>create view v1 as select * from t1;
root@localhost [testdb]>show create view v1\G
*************************** 1. row ***************************
View: v1
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`c1` AS `c1`,`t1`.`c2` AS `c2` from `t1`
character_set_client: utf8
collation_connection: utf8_general_ci
root@localhost [testdb]>create algorithm=merge view v2 as select * from t1;
root@localhost [testdb]>show create view v2\G
*************************** 1. row ***************************
View: v2
Create View: CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`c1` AS `c1`,`t1`.`c2` AS `c2` from `t1`
character_set_client: utf8
collation_connection: utf8_general_ci
#可以看到视图没有真实的数据文件
[root@Darren2 testdb]# ls
db.opt t1.frm t1.ibd v1.frm v2.frm
[root@Darren2 testdb]# cat v1.frm
TYPE=VIEW
query=select `testdb`.`t1`.`c1` AS `c1`,`testdb`.`t1`.`c2` AS `c2` from `testdb`.`t1`
md5=bc42610c419d2ba99157095ecfc2bd85
updatable=1
algorithm=0
definer_user=root
definer_host=localhost
suid=2
with_check_option=0
timestamp=2017-04-08 13:21:05
create-version=1
source=select * from t1
client_cs_name=utf8
connection_cl_name=utf8_general_ci
view_body_utf8=select `testdb`.`t1`.`c1` AS `c1`,`testdb`.`t1`.`c2` AS `c2` from `testdb`.`t1`
[root@Darren2 testdb]# cat v2.frm
TYPE=VIEW
query=select `testdb`.`t1`.`c1` AS `c1`,`testdb`.`t1`.`c2` AS `c2` from `testdb`.`t1`
md5=bc42610c419d2ba99157095ecfc2bd85
updatable=1
algorithm=2
definer_user=root
definer_host=localhost
suid=2
with_check_option=0
timestamp=2017-04-08 13:21:05
create-version=1
source=select * from t1
client_cs_name=utf8
connection_cl_name=utf8_general_ci
view_body_utf8=select `testdb`.`t1`.`c1` AS `c1`,`testdb`.`t1`.`c2` AS `c2` from `testdb`.`t1`
例2:修改表,视图中数据也会修改:
root@localhost [testdb]>insert into t1 values(2,'bbb');
Query OK, 1 row affected (0.00 sec)
root@localhost [testdb]>select * from v1;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
| 2 | bbb |
+------+------+
root@localhost [testdb]>select * from v2;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
| 2 | bbb |
+------+------+
例3:更新视图,源表数据也会更新:
root@localhost [testdb]>delete from v1 where c1=2;
root@localhost [testdb]>select * from v1;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
+------+------+
root@localhost [testdb]>select * from t1;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
+------+------+
例4:在视图上建立视图:
root@localhost [testdb]>select v1.c1,v2.c2 from v1 join v2 on v1.c1=v2.c1;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
+------+------+
root@localhost [testdb]>create view v12 as select v1.c1,v2.c2 from v1 join v2 on v1.c1=v2.c1;
root@localhost [testdb]>select * from v12;
+------+------+
| c1 | c2 |
+------+------+
| 1 | aaa |
+------+------+
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com