mysql 视图与存储过程

作者: HaleyLiu | 来源:发表于2018-04-11 10:39 被阅读36次

一.视图

1.什么是视图

视图是一个虚拟表,其内容由查询定义,和真实的表有显著区别,只有在特定条件下才可以update和delete。
当查询数据要关联多张表的时候,要写很长的sql语句,可以使用视图简化。
视图主要用来查询方便,如果修改也是可以的,一次只能修改一张实表。

2.视图的使用

一般用create view 视图名字(查询字段的结果) as select语句 这种格式的sql将查询出来的结果作为临时表。

然后可以在视图里面进行更改查,更改查询的字段也仅仅限制于视图里面有的字段。

创建视图
create  view  query_data(name,sex) as 
select name,gender from tb_student;

执行以上sql就可以生成视图了,生成后视图会存在数据库里

从视图中查询(只能查询出name,sex)
select * from  query_data;

二.存储过程

1.什么是存储过程

一组为了完成特定功能的SQL 语句集。
更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了

2.存储过程的使用

创建存储过程
drop procedure  if  exists insert_data;

create procedure insert_data(in  num  int)

begin

  declare i int;

  declare  str  char(62) default 'abcdefghijklmnopqrstuvwxyz123567890A
BCDEFGHIJKLMNOPQRSTUVWXYZ';

set i = 0;

where i< num do

insert   into  test.student_copy(
id,
name,
gender,
birthday
) values(
   concat('xh',ceil(1+rand()*1000)),
   substring(str,1+floor(rand()*61),6),
   if(round(rand()+1)=1,'男','女'),
  date_add('1997-1-11 13:00:00',interval  
ceil(1+rand()*100) month)
);
set i= i+1;

end while;

end;

执行以上sql就能生成insert_data存储过程,
生成后会存在数据库里,会占用数据库的空间。

调用存储过程

call  insert_data(1000); 

可生成1000个数据

相关文章

  • mysql 视图与存储过程

    一.视图 1.什么是视图 视图是一个虚拟表,其内容由查询定义,和真实的表有显著区别,只有在特定条件下才可以upda...

  • mysql 视图与存储过程

    一.视图 1.什么是视图 视图是一个虚拟表,其内容由查询定义,和真实的表有显著区别,只有在特定条件下才可以upda...

  • MySQL视图、存储过程

    1. 创建视图一般格式:create view 视图名称 as SQL语句 2. 删除视图一般格式:drop vi...

  • MySQL 视图和存储程序

    MySQL 视图和存储程序 存储程序:存储函数、存储过程、触发器和事件的总称。 存储例程:存储函数+存储过程。 触...

  • MySQL优化

    mysql-基础-视图,存储过程,触发器 面试题 面试你所要知道的:MySQL存储过程 https://blog....

  • mysql视图,触发器,存储过程优缺点及应用分析

    mysql视图,触发器,存储过程优缺点及应用分析 视图 mysql使用较少,是sql server和orcale使...

  • 视图与存储过程

    在SQL学习中遇到了视图与存储过程两个概念,粗略来看,两者有着很大的相似性,都类似于等待调用的函数,但是仍有一些区...

  • 视图与存储过程

    视图的创建与使用 为什么需要视图?不同人员关注不同的数据,保证信息的安全性 视图 是存储在服务器端的一个查询块,是...

  • 视图与存储过程

    一,视图 什么是视图 视图作为一张虚拟表,它相当于是一张表或多张表的数据结果集。 视图的优点 可以帮我们简化复杂的...

  • MySql中的视图、存储过程

    什么是视图 视图是一个虚拟表,就是用来查询数据的。使用视图的几个好处,不过用视图时要考虑性能的问题 简化sql语句...

网友评论

    本文标题:mysql 视图与存储过程

    本文链接:https://www.haomeiwen.com/subject/tlunhftx.html