为了提高SQL语句的复用性和操作表的安全性,,MySQL数据库管理系统5提供了视图特性。
视图:本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的行和列数据。但是视图并不在数据库中一存储的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。
虽然视图可以被看成是一种虚拟表,但是其在物理上是不存在的,即数据库管理系统没有专门的位置为视图存储数据。
create view view_name
AS 查询语句
SELECT *
FROM view_name;
#查看视图名
SHOW TABLES;
#查看视图详细信息
SHOW TABLE STATUS [FROM db_nam] [LIKE 'pattern]';
eg: SHOW TABLE STATUS
FROM VIEW
LIKE ‘view_xxxx’ \G
#查看视图定义信息
SHOW CREATE VIEW viewname;
DESCRIBE |DESC viewname;
当MySQL数据库安装成功后,会自动创建系统数据库information_schema。在该数据库中存在一个包含视图信息的表格views,可通过查看表格views来查看所有视图的相关信息。
DROP VOEW view_name [.view_name]...
# CREATE OR REPLACE VIEW 语句修改视图
create or replace view view_name
as 查询语句;
# ALTER 语句修改视图
ALTER VIEW viewname
as 查询语句;
在MySQL中可以通过视图检索基本表数据,这是视图最基本的作用,除此之外还可以通过视图修改基本表中的数据。
通过视图查询数据,与通过表进行查询完全相同,只不过通过视图查询比表更安全,更简单,使用。在具体实现的时候只需要将表名改为视图名即可。
SELECT *
FROM view_name;
INSERT INTO view_name (id,那么,price,order_id)
VALUES(11,‘PEAR4’,12.3,2);
DEFAULT FROM view_product
WHERE name ='apple1';
UPDATE view_product
set price=3.5
WHERE name='pear1';
原文:https://www.cnblogs.com/XtsLife/p/10992846.html