首页 / MYSQL / mysql 内置功能 视图 使用
mysql 内置功能 视图 使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql 内置功能 视图 使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2819字,纯文字阅读大概需要5分钟。
内容图文
![mysql 内置功能 视图 使用](/upload/InfoBanner/zyjiaocheng/502/7437cb15a41740e899596e65d0f49a2c.jpg)
增加了一张表
mysql> create view course2teacher as select * from course inner join teacher on course.teacher_id=teacher.tid; Query OK, 0 rows affected (0.28 sec) mysql> show tables; +----------------+ | Tables_in_db2 | +----------------+ | class | | course | | course2teacher | | score | | student | | teacher | +----------------+ 6 rows in set (0.00 sec)
创建一张表 都会在mysql 指定数据库目录里面添加 表结构文件,表数据文件
而刚才用视图创建的course2teacher表只有表结构,没有表数据
因为他的数据来自于其他表,查询出来的
[root@mysql db2]# pwd /data/mysql/db2 [root@mysql db2]# ll 总用量 612 -rw-rw----. 1 mysql mysql 8594 11月 3 23:33 class.frm -rw-rw----. 1 mysql mysql 98304 11月 3 23:33 class.ibd -rw-rw----. 1 mysql mysql 906 11月 11 02:49 course2teacher.frm -rw-rw----. 1 mysql mysql 8632 11月 3 23:33 course.frm -rw-rw----. 1 mysql mysql 114688 11月 3 23:33 course.ibd -rw-rw----. 1 mysql mysql 61 11月 3 23:33 db.opt -rw-rw----. 1 mysql mysql 8668 11月 3 23:33 score.frm -rw-rw----. 1 mysql mysql 131072 11月 3 23:33 score.ibd -rw-rw----. 1 mysql mysql 8662 11月 3 23:33 student.frm -rw-rw----. 1 mysql mysql 114688 11月 3 23:33 student.ibd -rw-rw----. 1 mysql mysql 8590 11月 3 23:33 teacher.frm -rw-rw----. 1 mysql mysql 98304 11月 3 23:33 teacher.ibd
视图创建的虚拟表可以当做真正的表来用
mysql> select * from course2teacher; +-----+--------+------------+-----+-----------------+ | cid | cname | teacher_id | tid | tname | +-----+--------+------------+-----+-----------------+ | 1 | 生物 | 1 | 1 | 张磊老师 | | 2 | 物理 | 2 | 2 | 李平老师 | | 4 | 美术 | 2 | 2 | 李平老师 | | 3 | 体育 | 3 | 3 | 刘海燕老师 | +-----+--------+------------+-----+-----------------+ 4 rows in set (0.37 sec)
每次执行select * from course2teacher;语句 都会触发 select * from course inner join teacher on course.teacher_id=teacher.tid; 运行
把结果当做course2teacher这种虚拟表
不用重复写表
#!!!注意注意注意:
#1. 使用视图以后就无需每次都重写子查询的sql,但是这么效率并不高,还不如我们写子查询的效率高
#2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图,
那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改。
视图是用来方便查的 ,视图不应该改
单表不用视图,
多表连接表查询时候才用到视图
我们不应该修改视图中的记录,而且在涉及多个表的情况下是根本无法修改视图中的记录的
删除视图
语法:DROP VIEW 视图名称 DROP VIEW course2teacher
mysql 内置功能 视图 使用
标签:视图 student 记录 sql语句 结果 虚拟 course 方便 连接
本文系统来源:https://www.cnblogs.com/mingerlcm/p/9940298.html
内容总结
以上是互联网集市为您收集整理的mysql 内置功能 视图 使用全部内容,希望文章能够帮你解决mysql 内置功能 视图 使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。