关于mysql视图知识的简单整理
下文给大家带来mysql视图知识有关内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完mysql视图知识你一定会有所收获。
视图概念:
视图是指计算机数据库中的虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。详见 视图 百度百科,其对视图的分类和优点有详细的解释此处不再赘述。
视图创建:
create view view_name as select 列1,列2, ...... from 表名
我们可以把视图理解为一个预先定义好的子查询,比如上面的语句中,如果我们把create 换成select那就相当好理解了。
select * from select col_1,col_2 from tbl_1 as temp
而事实上,视图的工作原理与这种子查询产生的临时表是一样的,只有在用到视图的时候,才会根据原表去动态生成虚拟表。所以视图的数据会根据原表的数据变动而变动。
举例
`create table employee (
id int primary key auto_increment,
name varchar(20) not null,
salary decimal(10,2) not null default 1000
);
create view v_emp as select id,name from employee;`
mysql> desc v_emp;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | 0 | |
| name | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
可以看到我们创建的视图v_emp,成功的隐藏了员工的工资字段salary
视图管理
删除视图
drop view [if exists] view_name
修改视图
alter view v_view_name as select * from tbl_1
修改视图结构
alter view v_view_name (col_1,col_2...) as select a,b from tbl_1
这样不但可以对外隐藏表名还可以隐藏字段名。
注意
视图对查询操作支持的最好,对增删改有一定的限制,比如多表联合组成的视图,而由单个表创建出的视图在插入数据时,视图中未包含的原表中的字段或者有默认值,或者允许为空。这样才可以保证操作成功。
对于上文关于mysql视图知识,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341