MySQL视图 本质上是一种虚拟表,其内容和真实的表像是。 包含了带有名称的列和行数据。
视图并不在数据库中以存储数据值形式存在。 行和列的数据来于自定义视图的查询所引用的基本表, 并且在具体引用视图时动态生成.
适用视图的时候,只能查看到视图中定义的数据。从而提高了数据库中数据的安全性.
特点: (1)视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。 (2)视图是由基本表(实 表)产生的表(虚表) (3)视图的建立和删除不影响基本表 (4)对视图内容的更新(添加、删除、修改)直接影响基本表
视图的数据来源于查询语句 创建视图 create view view_name as 查询语句. 视图一般以view_xxx或者v_xxx的阳狮进行命名。
查询视图 select * from view_name;
查看所有的表包括视图表 show tables;
查看视图详细信息 show table status [from db_name] [like ‘pattern’] pattern:视图表. db_name表示用来设置数据库 show table status表示将显示所有设置数据库里表和视图的详细信息.
Name: 表和视图名
Engine: 表的存储引擎
Version: 表的.frm文件的版本号
Row_format: 表的行的数目
Rows: 表中行的数目
Avg_row_length: 表中行平均行长度 Data_length: 表数据文件的长度 Max_data_length: 表数据文件的最大长度 Index_length: 表索引文件的长度 Data_free: 表被整序后,但是未适用的直接的数目。 Auto_increment: 表中下一个auto_increment值 Create_time: 表的创建时间 Update_time: 表的之后一次更新时间 Check_time: 表的最后一次检查时间 Collation: 表的字符集 Checksum: 表的活性校验 Create_options: 表的额外选项 Comment: 表的注释
mysql> show table status from view like ‘new_product’ *************************** 1. row ****************** Name: new_product Engine: NULL Version: NULL Row_format: NULL Rows: NULL Avg_row_length: NULL Data_length: NULL Max_data_length: NULL Index_length: NULL Data_free: NULL Auto_increment: NULL Create_time: NULL Update_time: NULL Check_time: NULL Collation: NULL Checksum: NULL Create_options: NULL Comment: VIEW 1 row in set (0.00 sec)
查看视图定义信息 show create view view_name \G ;// \G表示一种语义 在dos下使用,可以更好的格式进行显示.
视图设计信息 desc view_name;
information_schema数据库用于存储数据库对象信息 你们的views表中存储的是视图信息 use information_schema; select * from views where table_name=“new_product” \G;
删除视图 drop view view_name ;
修改视图 create or replace view view_name as 查询语句.
alter view view_name as 查询语句
视图你们的数据的操作(增 、删、改)会对基本表中的数据有影响 视图来自多个基本表时,不允许添加和删除数据.
把视图表理解成一个普通表就可以了。无非就是对视图表的操作会对基本表中的数据有影响。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100796.html原文链接:https://javaforall.cn