史上最简单的 MySQL 教程(三十三)「视图(上)」
视图:view,是一种有结构(有行有列),但没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义的,而是从对应的基表(视图的数据来源)中产生的。
创建视图
首
视图 视图:view,是一种有结构(有行有列),但没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义的,而是从对应的基表(视图的数据来源)中产生的。 创建视图 首先,给出创建视图的基本语法, 其中,select语句可以是普通查询,也可以是连接查询、联合查询、子查询等。 此外,视图根据数据的来源,可以分为单表视图和多表视图: 执行如下 SQL 语句,进行测试: 如上图所示,在我们创建多表视图的时候,由于表student和class中都含有id字段,因此导致出现错误“重复列名”。修改上述创建多表视图的 SQL 语句,继续进行测试: 如上图所示,当我们去掉表class中的id字段之后,成功创建多表视图。这是因为,当视图的基表有多张的时候,字段名不能重复。 查询视图 在这里,查询视图是指查看视图的结构,而不是查看视图的结果。 由于视图是一张虚拟表,因此表的所用查询语句,都适用于视图,例如: 执行如下 SQL 语句,进行测试: 虽然视图是虚拟表,但它和真正的表,至少在关键字上还是有区别的,因此在查询视图创建语句的时候,可以使用如下 SQL 语句: 此外,视图一旦创建,系统就会在视图对应的数据库文件夹下创建一个对应的frm结构文件mssql 使用视图,以保证结构的完整性。 使用视图 在操作数据库表的过程中,使用视图,主要就是为了查询,因此将视图当做表一样查询即可。 在这里需要注意的是,虽然我们说视图是一个虚拟表,它不保存数据,但是它却可以获取数据。 执行如下 SQL 语句,进行测试: 如上图所示,我们查询视图的结果和查询创建视图时as后面连接的select语句的结果完全相同。 因此,我们也可以认为:创建视图,就是给一条select语句起别名,或者说是封装select语句。 修改视图 视图本身不可修改,但是视图的来源(select)语句是可以修改的。因此,修改视图,就是修改视图的来源(select)语句。 执行如下 SQL 语句,进行测试: 删除视图 与视图的其他操作相比,删除视图比较简单, 执行如下 SQL 语句,进行测试: 如上图所示,我们不能用 来删除视图,因为table包含真实的数据,而view说到底就是封装的select语句,并不包含真实的数据。虽然删除视图并不会影响数据,但在实际工作中,建议还是不要乱删别人建立的视图,因为视图封装的select语句很有可能包含复杂的业务逻辑。 视图意义 温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。 ———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 Related posts:MySQL并行写入、查询性能调优(多核CPU) MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化 性能调优之MySQL篇三:MySQL配置定位以及优化 MySQL 存储过程 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |