mysql学习记录:视图

来源:互联网 发布:vpn计费管理系统源码 编辑:程序博客网 时间:2024/06/10 02:32

mysql学习记录:视图(虚表)的操作
视图(虚表)的特点:
* 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系,可以使不同的人只能看到特定的数据而不能看到基本表,提高了数据库的安全性。
* 视图的建立和删除不影响基本表。
* 对视图内容的更新(添加、修改和删除)直接影响基本表。
* 当视图来自多个基本表时,不允许添加和删除数据。

1.准备数据
创建视图与创建基本表类似,只是关键名词从table换成了view.

这是我的基本表t_student:
CREATE TABLE t_student (
name varchar(20) NOT NULL COMMENT ‘名字’,
sex char(5) DEFAULT NULL,
evaluate varchar(300) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用户表’

表数据:
INSERT INTO t_student VALUES(‘张三1’,’男’,’很帅’);
INSERT INTO t_student VALUES(‘王小丫1’,’女’,’漂亮,知书达理’);
INSERT INTO t_student VALUES(‘张三2’,’男’,’很帅’);
INSERT INTO t_student VALUES(‘王小丫2’,’女’,’漂亮,知书达理’);

基本表t_teacher:
CREATE TABLE t_teacher (
name VARCHAR (20) NOT NULL COMMENT ‘教师名字’,
sex VARCHAR (4) NOT NULL COMMENT ‘教师性别’,
grade INT NOT NULL COMMENT ‘教师所教班级,1,2,3,4,5’,
INDEX idx_teacher_name (name) COMMENT ‘教师名字索引’
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT ‘基本表,老师表’;

教师表插入数据:
INSERT INTO t_teacher VALUES(‘王二壮’,’男’,3);
INSERT INTO t_teacher VALUES(‘马冬梅’,’女’,4);

2.创建视图
1)尝试创建一个简单视图
CREATE VIEW v_student AS SELECT name,evaluate FROM t_student;
show v_student;

2)主要结构
视图的主要结构:create view 视图名 as 查询语句/函数
所以,我们可以得到一个结论:视图构建地就是用来表示查询结果/函数结果的表。
3)视图的增删改查
视图就是一种特殊的表,所以它的增删改查与表是差不多的,如果需要了解表的增删改查,可以看看我的另一篇文章 mysql学习记录:库、表的增删改查

3.查看视图
有许多查看视图的语句,例如:(1)show tables、(2)show table status、(3)show create view
其中1,3字面意思。与表的用法差不多

show table status 【from db_name】【like ‘pattern’】
返回字段含义:
name 表或者视图的名字
Engine 表的存储引擎
Version 表的.frm文件的版本号
Row_format 表的行存储格式
Rows 表中行的数目
Avg_row_length 表中行平均行长度
Data_length 表数据文件的长度
Max_data_length 表数据文件的最大长度
Index_length 表索引文件的长度
Create_time 表的创建时间
Update_time 表最后一次更新时间
Check_time 表的最后一次检查时间
Collation 表的字符集
Comment 表的注解

原创粉丝点击