大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
下文给大家带来MySQL视图知识有关内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完mysql视图知识你一定会有所收获。
目前累计服务客户成百上千,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站制作、成都网站设计、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联建站始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
视图是指计算机数据库中的虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。详见 视图 百度百科,其对视图的分类和优点有详细的解释此处不再赘述。
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视图知识,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。