千家信息网

MySQL数据库对视图的操作方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下面一起来了解下MySQL数据库对视图的操作方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL数据库对视图的操作方法这篇短内容是你想要的。使用视图的原则:1、视图名字唯一性2、视图的创建
千家信息网最后更新 2026年11月01日MySQL数据库对视图的操作方法

下面一起来了解下MySQL数据库对视图的操作方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL数据库对视图的操作方法这篇短内容是你想要的。

使用视图的原则:

1、视图名字唯一性

2、视图的创建个数不受限制,用户可以创建多个视图

3、用户创建视图,必须从数据库管理员得到权限。

4、视图可以嵌套,

5、一些数据库管理系统禁止用户在查询语句中使用order by子句。

一、创建实用表数据

创建学生表

mysql> create table studenginfo(sno int(4) zerofill,sname varchar(18),sex ENUM('男','女') not null default '女',address varchar(48) default '北京',dno int(3));Query OK, 0 rows affected (0.07 sec)

创建学院表

create table recruitinfo(address varchar(18) not null,score float not null,snum int(3) not null);Query OK, 0 rows affected (0.08 sec)mysql> show create table department\G;*************************** 1. row ***************************       Table: departmentCreate Table: CREATE TABLE `department` (  `dno` int(2) NOT NULL,  `dname` varchar(18) NOT NULL,  `dnum` int(3) NOT NULL DEFAULT '0') ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)

为学生表创建索引

mysql> create index name_index on studentinfo (sname);

二、视图:

视图作为查询数据的另外一种形式,利用视图,用户可以集中、简化和定制数据库,同时提供了安全保证

视图是从一个或过个表中导出的表,其结构和数据是建立在对标的查询基础之上的。就本质而言,视图是一张虚表。

视图创建语法:

create view  [column1,column2...] asselect  from ;

其中[column1,column2,...]为可选项,缺省是子查询结果中的字段名,select语句指明了视图中的字段机器数据。

强调:

1、视图创建后,只在数据字典中存放视图的定义,而其中的select语句并不执行

2、只有当用户对视图进行操作时,才按照视图的定义将数据从基本表中取出。

创建视图:

1、创建一个与studentinfo相同信息的视图

mysql> create view studentinfo_view as select * from studentinfo;select * from studentinfo_view;

2、为视图创建视图

mysql> create view boy_view as select * from studentinfo_view where sex='男';

3、为列创建视图并查看其信息

mysql> create view nameaddress_view as select sname,address from studentinfo;

4、创建与表具有不同字段名的视图

mysql> create view New_view(boy_name,boy_address) as select sname,address from studentinfo where sex='男';Query OK, 0 rows affected (0.00 sec)

5、利用视图简化表的复杂连接

创建一个关于学生信息表(studentinfo)、招生信息表(Recruitinfo)和Department的关联。

sname、dname和dnum三个字段。

mysql> create view join_view as select sname,dname,score from studentinfo s,department d,recruitinfo r where s.address=r.address and s.dno=d.dno;Query OK, 0 rows affected (0.00 sec)mysql> select * from join_view;+-----------+--------------------+-------+| sname     | dname              | score |+-----------+--------------------+-------+| 张平      | 汽车系             | 648.5 || 李山      | 电子工程系         |   560 || 王彤      | 汽车系             | 654.5 || 张伟      | 计算机工程系       |   638 || 高守传    | 机械工程           |   650 || 刘红      | 工程物理系         | 629.5 || 张勇      | 应用数学系         |   625 || 刘晓      | 电子工程系         |   650 || 吴军      | 电子工程系         |   631 || 张大山    | 材料工程系         |   635 |+-----------+--------------------+-------+10 rows in set (0.03 sec)

6、视图简化复杂查询的过程

6.1 给予学生表,创建boys_view视图,包含所有男同学信息

mysql> create view boys_view as select * from studentinfo where sex='男';

给予recruitinfo表,创建视图score_view,包含录取分数高于630的所有学生的信息

mysql> create view boyscore_view as select * from score_view where sno in (select sno from boys_view);mysql> select * from boyscore_view;+------+-----------+-----+---------+------+| sno  | sname     | sex | address | dno  |+------+-----------+-----+---------+------+| 0005 | 高守传    | 男  | 山东    |    3 || 0004 | 张伟      | 男  | 浙江    |    1 || 0009 | 吴军      | 男  | 山西    |    4 || 0010 | 张大山    | 男  | 陕西    |    7 |+------+-----------+-----+---------+------+4 rows in set (0.00 sec)mysql> create view result_view (sname,dname) as select boyscore_view.sname,department.dname from boyscore_view,department where boyscore_view.dno=department.dno;Query OK, 0 rows affected (0.00 sec)

删除视图

语法:drop view view_name

drop view studentinfo_view

注意:视图在物理上是不存在的,只是一个查询结果,是一个被存储的查询。create view语句只是保存了视图的定义,所以在使用drop view语句删除视图时,删除的也只是视图的定义,对实际表中的数据没有影响。

看完MySQL数据库对视图的操作方法这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

视图 数据 信息 工程 查询 数据库 学生 工程系 用户 语句 字段 方法 只是 电子 复杂 内容 更多 汽车 汽车系 物理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 科技赋能下的互联网金融 A股互联网金融科技公司 云电互联网科技 奇酷互联网络科技公司 沃里互联网科技 米客互联网科技 互联网科技创新企业排名 栖莱科技互联网股份有限公司 互联网金融中的现代科技 昭通互联网科技选哪家 崇明区互联网教育科技售后服务 深圳育鹏互联网科技有限公司招聘 想开互联网科技公司怎么样 沐思想互联网科技有限公司 互联网金融科技元年 锡山区互联网智能科技产品供应 广州富喜互联网络科技 西安有哪些互联网高科技企业 华人运通互联网科技公司 保险科技 互联网保险 天津市摩尔互联网科技 北京互联网络科技有限公司 丰台科技园 互联网 融势互联网科技 新华互联网科技校企合作 恒生科技互联网指数分析 湖南诚度互联网科技有限公司 长沙渺峰互联网科技有限公司 米泉互联网科技专业怎么样
0