mysql视图原理与用法实例详解
本文实例讲述了mysql视图原理与用法。分享给大家供大家参考,具体如下:
本文内容:
什么是视图 创建视图 查看视图 视图的修改 视图的删除 视图的数据操作首发日期:2018-04-13
什么是视图:
视图是一种 基于查询结果的虚拟表,数据来源的表称为基本表。 视图的建立和删除不影响基本表。 视图的插入,修改操作会影响基本表。 如果视图来自多个基本表,那么 不可以修改基本表。 视图的用处: 1.视图基于查询结果,使得视图可以隐藏基本表一些不该展示给用户的数据信息(比如某个开发人员需要用户信息表,但不应该展示给他用户的密码信息。) 2.视图是一个虚拟表,可以 将查询信息存储到视图中,这样可以便于操作。 ......创建视图:
语法:create view 视图名 as select语句 [with check option];【select语句可以多表查询结果:联合查询、连接查询】 with check option会依据where等条件语句来限制插入和修改操作(比如检索出来的视图数据是男的,不允许将男的改成女的)create view man_info as select * from student where gender="male";
补充:
视图的创建还有一个可选项:视图算法(这里不讲述,想了解的可以百度)查看视图:
视图是一个虚拟表,针对表的查看语句都可以使用到视图中 查看所有视图:show tables/views; 查看视图结构:desc/describe/show columns from 视图名; 查看视图创建语句:show create table/view 视图名;视图的修改:
有时候可能发生定义视图错误,所以这时候会执行修改视图操作。 语法:alter view 视图名 as 新的select语句;create view user_view as select * from user; alter view user_view as select username,money from user;
补充:
由于视图是一种虚拟表,还有一种可以修改视图的方法:create or replace view 视图创建语句;【将以新的视图覆盖旧视图】视图的删除:
语法:drop view 视图名[,视图名…]; 示例:drop view student_class,student_info;
视图的数据操作:
如果视图来自多个基本表,那么 不可以修改基本表。不过理论上update是允许的。视图的数据查看:
语法:select 字段列表 from 视图名;【与基本表的查询操作是一致的。】视图的数据插入:
数据来源自多个基本表时,无法进行插入操作。 语法:insert into 视图名 values();【与基本表的插入操作是一致的。】 注意:视图结构来自于基本表,所以要接受基本表的约束。如果某个字段不允许为空,但视图的插入操作又没赋值的话,会插入失败。视图的数据修改:
语法:update 视图名 set 字段名 = 值 where 条件;【与基本表的修改操作是一致的。】视图的数据删除:
数据来源自多个基本表时,无法进行删除操作。 语法:delete from 视图名 where 条件;【与基本表的删除操作是一致的。】更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
上一篇:mysql代码执行结构实例分析【顺序、分支、循环结构】
栏 目:其它数据库
本文标题:mysql视图原理与用法实例详解
本文地址:https://zz.feitang.co/shujuku/30126.html
您可能感兴趣的文章
- 12-20使用DataGrip连接Hive的详细步骤
- 12-20debian10 mariadb安装过程详解
- 12-20MySQL索引失效的几种情况详析
- 12-20详解mysql持久化统计信息
- 12-20Robo可视化mongoDb实现操作解析
- 12-20MySQL 字段 LIKE 多个值
- 12-20Redis fork进程分配不到内存解决方案
- 12-20mysql插入前判断数据是否存在的操作
- 12-20基于navicat连接登录windows10本地wsl数据库
- 12-20Linux安装MariaDB数据库的实例详解


阅读排行
推荐教程
- 12-07mysql存储过程太慢怎么办
- 12-06redis通信协议(protocol)
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-04MySQL一次性创建表格存储过程实战
- 12-03深入理解Redis内存淘汰策略
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程
- 12-14Mysql大型SQL文件快速恢复方案分享





