存储过程是什么?

存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。

存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。

存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

存储过程怎么用?

一、先学习基本语法

MYSQL 存储过程中的关键语法
声明语句结束符,可以自定义:
DELIMITER $$或
DELIMITER //
声明存储过程:
CREATE PROCEDURE demo_in_parameter(IN p_in int)
存储过程开始和结束符号:
BEGIN .... END
变量赋值:
SET @p_in=1
变量定义:
DECLARE l_int int unsigned default 4000000;
创建mysql存储过程、存储函数:
create procedure 存储过程名(参数)
存储过程体:
create function 存储函数名(参数)

2、存储过程简单的操作

2.1、先创建表

mysql> use demo_hu
Database changed
mysql> CREATE TABLE `users`  (->   `ID` int(11) NOT NULL AUTO_INCREMENT,->   `NAME` varchar(100) DEFAULT NULL,->   `EMAIL` varchar(100)DEFAULT NULL,->   `AGE` int(11) DEFAULT NULL,->   `SEX` varchar(100)DEFAULT NULL,->   `ID_CARD` varchar(100)DEFAULT NULL,->   `MOBILE_PHONE` varchar(100)DEFAULT NULL,->   `VISA_CARD` varchar(100)DEFAULT NULL,->   `OFFICER_CARD` varchar(100)DEFAULT NULL,->   `ADDRESS` varchar(100)DEFAULT NULL,->   PRIMARY KEY (`ID`) USING BTREE-> ) ;
Query OK, 0 rows affected (0.02 sec)
mysql> select * from users;
Empty set (0.00 sec)

2.2、存储过程插入数据

示例:批量插入

DROP PROCEDURE IF EXISTS pro_users;DELIMITER &&
CREATE PROCEDURE pro_users(IN inr int)BEGINDECLARE i INT DEFAULT 0;START TRANSACTION;WHILE i<inr DOINSERT INTO USERS(id, NAME,EMAIL,AGE,SEX,ID_CARD,MOBILE_PHONE) values(i,'曹植','liuhuyuan@163.com',29,'男','131081197803061637',13663776677); commit;                     SET i=i+1; END WHILE; COMMIT;END; &&  call pro_users(1000);

执行后查询结果:插入999条数据

mysql> select count(*) from users;
+----------+
| count(*) |
+----------+
|      999 |
+----------+
1 row in set (0.01 sec)

2.3、存储过程查询数据

#查询1条
DELIMITER &&
CREATE PROCEDURE select_users(IN p_id int)BEGINSELECT * from users where id=p_id;END; &&  call select_users(2)#查询所有
DELIMITER &&
CREATE PROCEDURE select_users_all()BEGINSELECT * from users;END; &&  call select_users_all()

使用MySQL存储过程给表批量造数据相关推荐

  1. 软件测试如何批量造数据

    测试过程中,经常用到批量造数据的场景:准备大量测试数据.执行压测等等. 比如说,你要模拟1000个用户同时发短信,那么你需要先创建1000个不同手机号的用户,直接在页面上造数据显然是不太现实的. 如果 ...

  2. mysql用update select批量处理数据

    mysql用update select批量处理数据 接手了一个项目,在实际的使用中发现服务器的负载很高! 于是在服务器上使用 Top 命令查看CPU和内存的使用情况,发现mysql占用的CPU最高.于 ...

  3. mysql 存储过程建表_MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...

  4. mysql存储过程自动生成周次数据

    mysql存储过程自动生成周次数据 1.目的 因项目特殊要求,需按周生成对应批次数据,如周次跨月需要生成两条数据:生成的对应字段如下: 2.步骤: 2.1.创建数据库表 在这里插入代码片 ```CRE ...

  5. mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc

    如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...

  6. 《项目经验》--简单三层使用DataTable向数据库表批量导入数据---向SqlServer多张张表中导入数据

    前面已经介绍过如何向数据库的一张表中批量导入数据,详情见博客<项目经验---简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据>:本文主要介绍如 ...

  7. Mysql之向表中插入数据

    Mysql之向表中插入数据 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...f ...

  8. 利用MYSQL存储过程批量造数据

    作为一名测试工程师,造这种存量数据,一般都是压测的时候需要一些存量数据.我平时用Jmeter比较多,比较少用到MYSQL的存储过程,最近浏览博客,看到有人用这个方式造数据,就趁机体验了一把. 一般的压 ...

  9. mysql 存储过程新增表,mysql实例 存储过程中向表中添加数据

    摘要 腾兴网为您分享:mysql实例 存储过程中向表中添加数据,信和财富,视达网,人人视频,企商理财等软件知识,以及电视猫,office2000,贵阳银行,搜电共享充电宝,雅图电影院,达达跑腿,万圣节 ...

  10. mysql 存储过程 动态表名

    今天写存储过程时,遇到要将表名最为参数的问题,如果不涉及到游标的话,使用prepare可以解决问题,但是,动态表名要运用在游标中的话,则prepare就得靠边站了. 集众人之智慧,最后,使用临时表解决 ...

最新文章

  1. Kali Linux安全渗透教程(内部资料)
  2. spring:注解@Resource,实现引用类型的赋值
  3. tensorflow 进阶(二),BP神经网络
  4. vim 有用命令-20190217
  5. Oracle执行计划顺序
  6. Java与.NET的WebServices相互调用
  7. oschina下载工具
  8. html写用户导入,用户基本信息录入.html
  9. python 输出彩色文字
  10. python基础数据结构互转和2、8、10、16进制互转
  11. 点击对应不同name的button,显示不同name的弹窗(弹窗功能)
  12. 语音社交app源码中音频混音的实现步骤
  13. 【小程序开发】—— 封装自定义弹窗组件
  14. 手把手教学linux上扩容和缩减swap分区。
  15. php使用sendemail,thinkphp如何使用sendcloud发送邮件 | 志博日记
  16. 轻松摆好人像摄影姿势
  17. Theorem、Proposition、Lemma和Corollary等的解释与区别
  18. easyui手风琴菜单
  19. JAVA中获得一个有中文的字符串的字节长度
  20. java-EasyExcel导出excel设置单元格为文本格式(含代码)

热门文章

  1. excel显著性检验_使用Excel2016比较两组数据显著性差异
  2. html如何将汉字转换成英文,中文字体转化为英文或转码
  3. matlab加性高斯白噪声方差
  4. 大伽「趣」说AI:在多个场景中的AI落地实践
  5. 项目绩效考核管理有何方法?这7大考核方案你都知道吗?
  6. GPT转换MBR,MBR转换GPT
  7. C#个人邮箱发邮件给多个邮箱
  8. field方法的用法
  9. python编辑dbf文件_Python修改DBF文件指定列
  10. MIPS汇编程序设计实验