含义:
虚拟表,和普通表一样使用,mysql5.1版本出现的新特性,是通过表动态生成的数据
比如:
舞蹈班和普通班级的对比
优点:
- 重用sql语句
- 简化复杂的sql操作,不必知道它的查询细节
- 保护数据,提高安全性
视图和表的对比:
创建语法 | 是否实际占用物理空间 | 使用 | |
---|---|---|---|
视图 | create view | 没有,只是保存了sql逻辑 | 增删改查,一般不能增删改 |
表 | create table | 占用,保存了数据 | 增删改查 |
案例:查询姓张的学生名和专业名
use students;
drop table if exists stuinfo;
create table if not exists stuinfo(
id int,
stuname varchar(20),
gender char(1),
age int default 18,
seat int,
majorid int
) default charset=utf8;
drop table if exists major;
create table major(
id int,
majorName varchar(20)
);
select stuname,majorname
from stuinfo s
inner join major m on s.majorid=m.id
where s.stuname like '张%';
create view myv1
as
select stuname,majorname
from stuinfo s
inner join major m