转载

MySQL中的视图和索引以及存储过程

1.视图

       视图:是一张虚拟的表

       视图中的数据是来源于基表【真实存在的表】


2.如何创建视图

create view  emp_view as select empno,ename, sal,dname from emp join dept on emp.deptno=dept.deptno;

create view  emp_view(num,name,yearSalary,dept) as select empno,ename,sal*12,dname from emp join dept on emp.deptno=dept.deptno;

根据视图查询数据

select * from emp_view;

 

3.视图的作用

a.简化SQL语句

b.隐藏真实的表结构,表字段

 

4.删除视图

drop view emp_view;

 

5.视图的缺点

破坏了表之间的关系,体现不了数据之间的关系


6.索引

索引的分类:

1.普通索引

create index enameIndex on emp(ename);

2.唯一性索引

create unique index enameIndex on emp(ename);

  主键就是一个唯一性索引

 

3.全文索引

create fulltext index job_index on emp(job);

 

4.组合索引

create index abc on emp(ename,job);

7.存储过程

PL编程 Procedure Language,在数据库端编写的程序

创建过程

delimiter $  //修改语句结束的标识符

create procedure pro_1()

begin

select * from emp;

end$

delimiter ;  //将结束标识符改回来

调用过程

call pro_1();

有参数的过程

输入参数  in

输出参数  out

输入输出参数 in  out

delimiter $  //修改语句结束的标识符

create procedure pro_3(in v_deptno int)

begin

select * from emp where deptno=v_deptno;

end$

delimiter ;  //将结束标识符改回来


 

delimiter $  //修改语句结束的标识符

create procedure pro_4(out v_ename varchar(10),in v_empno int)

begin

select ename into v_ename from emp where empno=v_empno;

end$

delimiter ;  //将结束标识符改回来

 

正文到此结束
本文目录