使用MySQL存储过程给表批量造数据
存储过程是什么?
存储过程(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存储过程给表批量造数据相关推荐
- 软件测试如何批量造数据
测试过程中,经常用到批量造数据的场景:准备大量测试数据.执行压测等等. 比如说,你要模拟1000个用户同时发短信,那么你需要先创建1000个不同手机号的用户,直接在页面上造数据显然是不太现实的. 如果 ...
- mysql用update select批量处理数据
mysql用update select批量处理数据 接手了一个项目,在实际的使用中发现服务器的负载很高! 于是在服务器上使用 Top 命令查看CPU和内存的使用情况,发现mysql占用的CPU最高.于 ...
- mysql 存储过程建表_MySQL 存储过程创建表
创建 CREATE PROCEDURE Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...
- mysql存储过程自动生成周次数据
mysql存储过程自动生成周次数据 1.目的 因项目特殊要求,需按周生成对应批次数据,如周次跨月需要生成两条数据:生成的对应字段如下: 2.步骤: 2.1.创建数据库表 在这里插入代码片 ```CRE ...
- mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc
如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...
- 《项目经验》--简单三层使用DataTable向数据库表批量导入数据---向SqlServer多张张表中导入数据
前面已经介绍过如何向数据库的一张表中批量导入数据,详情见博客<项目经验---简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据>:本文主要介绍如 ...
- Mysql之向表中插入数据
Mysql之向表中插入数据 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...f ...
- 利用MYSQL存储过程批量造数据
作为一名测试工程师,造这种存量数据,一般都是压测的时候需要一些存量数据.我平时用Jmeter比较多,比较少用到MYSQL的存储过程,最近浏览博客,看到有人用这个方式造数据,就趁机体验了一把. 一般的压 ...
- mysql 存储过程新增表,mysql实例 存储过程中向表中添加数据
摘要 腾兴网为您分享:mysql实例 存储过程中向表中添加数据,信和财富,视达网,人人视频,企商理财等软件知识,以及电视猫,office2000,贵阳银行,搜电共享充电宝,雅图电影院,达达跑腿,万圣节 ...
- mysql 存储过程 动态表名
今天写存储过程时,遇到要将表名最为参数的问题,如果不涉及到游标的话,使用prepare可以解决问题,但是,动态表名要运用在游标中的话,则prepare就得靠边站了. 集众人之智慧,最后,使用临时表解决 ...
最新文章
- Kali Linux安全渗透教程(内部资料)
- spring:注解@Resource,实现引用类型的赋值
- tensorflow 进阶(二),BP神经网络
- vim 有用命令-20190217
- Oracle执行计划顺序
- Java与.NET的WebServices相互调用
- oschina下载工具
- html写用户导入,用户基本信息录入.html
- python 输出彩色文字
- python基础数据结构互转和2、8、10、16进制互转
- 点击对应不同name的button,显示不同name的弹窗(弹窗功能)
- 语音社交app源码中音频混音的实现步骤
- 【小程序开发】—— 封装自定义弹窗组件
- 手把手教学linux上扩容和缩减swap分区。
- php使用sendemail,thinkphp如何使用sendcloud发送邮件 | 志博日记
- 轻松摆好人像摄影姿势
- Theorem、Proposition、Lemma和Corollary等的解释与区别
- easyui手风琴菜单
- JAVA中获得一个有中文的字符串的字节长度
- java-EasyExcel导出excel设置单元格为文本格式(含代码)