mysql 视图的学习
来源:互联网 发布:中国最美的地方 知乎 编辑:程序博客网 时间:2024/05/22 09:36
一、视图的优点
- 安全性。
- 查询性能提高
- 有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,而使用视图的形式就达到了少修改的效果(例如:假如因为某种需要a表和b表需要进行合并起来组成一个新的表c,而a、b表都不会存在了。那么原来程序中编写sql分别基于两表的查询就需要重新编写大量的sql【改成向c表去操作】。而通过视图就可以做到不修改。定义两个视图名字还是原来表a、b的名字。说明:使用这样的解决方式,基于对视图的细节了解越详细越好。因为使用视图还是与使用表的语法上没区别。)
- 复杂的查询需求。可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。
二、视图的工作机制:
当调用视图的时候,才会执行视图中的sql,进行取数据操作。视图的内容没有存储,而是在视图被引用的时候才派生出数据。这样不会占用空间,由于是即时引用,视图的内容总是与真实表的内容一致的。这样设计节省空间,内容总是一致,不需要维护视图的内容,维护好真实的表的内容,就可以保证视图的完整性了。
三、视图的创建
创建视图是在表的基础上创建的,可以理解为视图时表的镜像。
//创建视图的格式示例
DROP TABLE IF EXISTS `te_view`;
DROP VIEW IF EXISTS `te_view`;
CREATE TABLE `te_view` (
`id` TINYINT(4),
`name` VARCHAR(20),
`pwd` VARCHAR(20),
`addr` VARCHAR(255),
`phone` VARCHAR(255)
) ;
DROP TABLE IF EXISTS `te_view`;
DROP VIEW IF EXISTS `te_view`;
CREATE ALGORITHM=UNDEFINED
DEFINER=`root`@`localhost` SQL SECURITY DEFINER
VIEW `te_view` AS SELECT `te1`.`id` AS `id`,`te1`.`name` AS `name`,`te1`.`pwd` AS `pwd`,`te2`.`addr` AS `addr`,`te2`.`phone` AS `phone` FROM (`te1` JOIN `te2` ON(`te1`.`id` = `te2`.`id`)) ;
- mysql 视图的学习
- MYSQL视图的学习笔记
- 【MySql学习系列】视图
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- MySQL视图学习整理
- mysql 视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- MySQL学习之视图
- mysql学习之视图
- mysql-视图基础学习
- MySQL 学习<十> 视图
- mysql学习记录:视图
- C++ 类中const成员变量的赋值
- 解决Qtopia中QFileDialog不支持
- 字符设备基础
- Application
- Oracle恢复(四)------用RMAN恢复一个数据文件
- mysql 视图的学习
- Python2.7+mysqlDB+mysql5.5.x更新操作无法正常刷新到服务器的问题
- jsp url 参数加密传送的终极解决方案
- 在路上
- __attribute__()__attribute__ ((attribute-list))(转)
- O2O式生活
- Oracle与MySQL的几点区别
- ARX常用函数
- calling a host function from a __device__/__global__ function is not allowed