使用视图的原则:
1,视图名字唯一性
2,视图的创建个数不受限制,用户可以创建多个视图
3,用户创建视图,必须从数据库管理员得到权限。
4,视图可以嵌套,
5,一些数据库管理系统禁止用户在查询语句中使用order by子句。
一、创建实用表数据
创建学生表
mysql>, create table studenginfo (int sno (4),补零,sname varchar (18), sex ENUM(& # 39;男& # 39;& # 39;女& # 39;),not null default & # 39;女& # 39;,address varchar (48), default & # 39;北京& # 39;,dno int (3)); Query 好吧,,0,rows affected (0.07, sec)
创建学院表
create table recruitinfo (address varchar (18), not null, score float not null, snum int (3), not 零); Query 好吧,,0,rows affected (0.08,秒) mysql>, show create  table 部门\ G; * * * * * * * * * * * * * * * * * * * * * * * * * * *,1只row * * * * * * * * * * * * * * * * * * * * * * * * * * * ,,,,,,表:部门 Create 表:,Create TABLE “部门”,( dno的才能,int (2), NOT 空, “dname”,才能varchar (18), NOT 空, “dnum”才能,int (3), NOT NULL DEFAULT & # 39; 0 & # 39; ),引擎=InnoDB DEFAULT CHARSET=utf8 1,row set 拷贝;(0.00,sec)
为学生表创建索引
mysql>, create index name_index 提醒studentinfo (sname);
二,视图:
视图作为查询数据的另外一种形式,利用视图,用户可以集中,简化和定制数据库,同时提供了安全保证
视图是从一个或过个表中导出的表,其结构和数据是建立在对标的查询基础之上的。就本质而言,视图是一张虚表。
视图创建语法:
create view & lt; view_name>, [column1 column2…], select & lt; column_name>,得到& lt; tb_name>;
其中[column1, column2,…)为可选项,缺省是子查询结果中的字段名,选择语句指明了视图中的字段机器数据。
强调:
1,视图创建后,只在数据字典中存放视图的定义,而其中的选择语句并不执行
2,只有当用户对视图进行操作时,才按照视图的定义将数据从基本表中取出。
创建视图:
1,创建一个与studentinfo相同信息的视图
mysql>, create view studentinfo_view as select *,得到studentinfo; select *,得到studentinfo_view;
2,为视图创建视图
mysql>, create view boy_view as select *,得到studentinfo_view where 性=& # 39;男& # 39;;
3,为列创建视图并查看其信息
mysql>, create view nameaddress_view as select sname, address 得到studentinfo;
4,创建与表具有不同字段名的视图
mysql>, create view New_view (boy_name boy_address), as select sname, address 得到studentinfo where 性=& # 39;男& # 39;; Query 好吧,,0,rows affected (0.00, sec)
5,利用视图简化表的复杂连接
创建一个关于学生信息表(studentinfo),招生信息表(Recruitinfo)和部门的关联。
sname, dname和dnum三个字段。
mysql>, create view join_view as select sname, dname, score 得到studentinfo 年代,department d, recruitinfo r where s.address=r.address 以及s.dno=d.dno; Query 好吧,,0,rows affected (0.00,秒) mysql>, select *,得到join_view; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + |,sname ,,,, |, dname ,,,,,,,,,,,,, |, score | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + |,张平,,,,,,|,汽车系,,,,,,,,,,,,,|,648.5 | |,李山,,,,,,|,电子工程系,,,,,,,,,|,,,560 | |,王彤,,,,,,|,汽车系,,,,,,,,,,,,,|,654.5 | |,张伟,,,,,,|,计算机工程系,,,,,,,|,,,638 | |,高守传,,,,|,机械工程,,,,,,,,,,,|,,,650 | |,刘红,,,,,,|,工程物理系,,,,,,,,,|,629.5 | |,张勇,,,,,,|,应用数学系,,,,,,,,,|,,,625 | |,刘晓,,,,,,|,电子工程系,,,,,,,,,|,,,650 | |,吴军,,,,,,|,电子工程系,,,,,,,,,|,,,631 | null null null null null null null null null null null null null null null nullMySQL数据库对视图的操作方法