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 查询语句
#####视图你们的数据的操作(增 、删、改)会对基本表中的数据有影响
#####视图来自多个基本表时,不允许添加和删除数据.
####把视图表理解成一个普通表就可以了。无非就是对视图表的操作会对基本表中的数据有影响。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100796.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...