MySQL数据库管理系统提供了视图特性,视图本质上是一种虚拟表,包含一系列列和行数据,但是,视图并不在数据库中以存储的数值形式存在。行和列数据来源于定义视图的查询所引用的基本表,在具体引用时动态生成。
视图的特点:
1、视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系;
2、视图是由基本表产生的表;
3、视图的建立和删除不影响基本表;
4、对视图内容的更新(添加、修改和删除)直接影响基本表;
5、当视图来自多个基本表时,不允许添加和删除数据。
创建视图:
create 库名 视图名 as select 字段名1, 字段名2 from 表名;
语句中的库名为已经创建了的数据库,表名为该库下的表,一般视图名不可和表名、其他视图名重复,一般为view_×××或者v_×××命名。
创建视图之后,可进行查询视图:
select * from 视图名;
查看视图和表的详细信息:
show table status from 库名;
查看视图的详细信息:
show table status from 库名 like "视图名";
查看关于视图的定义信息:
show create 库名 视图名;
desc 视图名;
删除视图:
drop view 视图名;
修改视图:可以先删除视图再创建,可以使用alter view 视图名操作修改视图,也可以通过create or replace view语句修改视图:
create or replace view view_name as 查询语句;
如:
create or replace view view_name as select name from students;
也可以通过下面语句修改:
alter view view_name as 查询语句;
用视图操作基本表,如检索查询数据:
其实和查询数据库的表语句相同:
select * from view_name;
通过视图不仅可以查询数据,还可以对视图进行增删查改,对视图的操作其实是对基本数据表的更新操作,在对视图进行操作时,要注意:
对视图进行增删查改时,直接影响基本表;视图来自多个基本表时,不允许添加和删除数据。
通过视图添加数据:
insert into view_name(字段名1, 字段名2, 字段名3) values(value1, value2, value3);
也可简写成:
insert into view_name values(value1, value2, value3);
删除数据:
delete from view_name where 条件;
如:
delete from view_lover where name='FXL';
更新数据操作:
update view_name set 更新值 where 条件;
如:
update view_lover set age =18 where name= 'FXL';
想到了再更新吧。