业务需要,往某个表中批量插入数据,使用存储过程插入

首先,要建立一张mysql表,表明为phone_number, 三个字段,id 自增,number 就是要插入的表格,is_used 表示十分已经使用,默认值为0,未使用

CREATE TABLE `phone_number` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`number` varchar(12) NOT NULL,
`is_used` tinyint(1) DEFAULT '' COMMENT '是否已经使用 1 已经使用,0 未使用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;

在新建存储过程,存储过程名称为batch_insert,传入2个参数,第一个表示开始的号码,把号码当成一个整数。第二个参数是循环插入多少条记录,每插入一次后把插入的号码增加1,再插入。

DELIMITER $$
USE `db_xxxx`$$
DROP PROCEDURE IF EXISTS `batch_insert`$$
CREATE DEFINER=`root`@`%` PROCEDURE `batch_insert`(IN `start_number` BIGINT,IN `counts` BIGINT)
BEGIN
DECLARE p_number BIGINT DEFAULT start_number;
DECLARE stop_number BIGINT DEFAULT start_number;
SET stop_number=start_number + counts;
WHILE p_number < stop_number DO
INSERT INTO phone_number(number) VALUES(p_number);
SET p_number=p_number+1;
END WHILE ;
COMMIT;
END$$
DELIMITER ;

如下调用带2个参数,表示13535561906开始插入,插入40条记录后停止插入

CALL batch_insert(13535561906,40);

执行结果

mysql存储过程批量向表插入数据的更多相关文章

  1. Mysql 存储过程批量建表

    CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20) ...

  2. mysql存储过程使用游标循环插入数据

    DELIMITER $$ DROP PROCEDURE IF EXISTS `procedure_course`$$ CREATE DEFINER=`root`@`localhost` PROCEDU ...

  3. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

  4. SQL-Oracle存储过程-循环A表,向B表插入数据

    --存储过程,查询A表,向B表插入数据 create or replace procedure prc_sg_sjtj_config(p_flag out varchar2) IS BEGIN FOR ...

  5. Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据

    Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> ...

  6. MySQL 存储过程删除大表

    1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...

  7. mysql存储过程分库分表

    -- 存储过程创建库  分为两条语句删除和创建DELIMITER $$USE myplan $$DROP PROCEDURE IF EXISTS createDBN $$CREATE PROCEDUR ...

  8. 如何往有自增标识字段的表插入数据时,同时给自增标识字段插入值呢,在Inset Into语句前后加上SQL语句:SET IDENTITY_INSERT TableName ON和SET IDENTITY_INSERT TableName OFF

    当要往有设置自增标识字段的表插入数据,并希望同时设置好自增字段的值时,可以在insert into 的SQL语句前后分别加上一句sql语句,SET IDENTITY_INSERT TableName  ...

  9. 通过mapreduce把mysql的一张表的数据导到另外一张表中

    怎么安装hadoop集群我在这里就不多说了,我这里安装的是三节点的集群 先在主节点安装mysql 启动mysql 登录mysql 创建数据库,创建表格,先把数据加载到表格 t ,表格t2是空的 mys ...

随机推荐

  1. C/C++与Java的区别

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html     C/C++:             C/C++代码——编译(不同的系统编译出不 ...

  2. 在vim中安装及配置NERDTree插件

    使用Vundle插件安装,在.vimrc中加入以下代码: Plugin 'scrooloose/nerdtree' 打开vim,输入命令如下: :BundleInstall 等待安装完毕 配置NERD ...

  3. 【超精简JS模版库/前端模板库】原理简析 和 XSS防范

    使用jsp.php.asp或者后来的struts等等的朋友,不一定知道什么是模版,但一定很清楚这样的开发方式: <div class="m-carousel"> < ...

  4. Oracle内存结构:SGA PGA UGA

    内存结构是oracle数据库最重要的组成部分之一,在数据库中的操作或多或少都会依赖到内存,是影响数据库性能的重要因素Oracle数据库中包括3个基本的内存结构: 一. 系统全局区  (System G ...

  5. java 浮点运算

      CreateTime--2017年12月1日11:35:00 Author:Marydon java 浮点类型(float.double)间的运算工具类 /** * 进行BigDecimal对象的 ...

  6. jenkins关闭和重启

    我们用jar -jar jenkins.war来启动jenkins服务器,那么我们如何关闭或者重启jenkins服务器呢?经过搜索找到了相应的方法. 关闭jenkins服务 只需要在访问jenkins ...

  7. cmd 运行(打包后的)java程序

    package cn.imeixi.chapter1.exer; public class Exer10PrintArgs { public static void main(String[] arg ...

  8. 用C读取json文件

    a jconf_t * read_jconf(const char *file) { static jconf_t conf; // 清空数据 memset(&conf, , sizeof(j ...

  9. d3dx9库函数

    这几天参考了csdn上大坡先生()整理的d3dx9的库函数,我做了一些机械的事情.就算过年练打字了.以下为我整理的d3dx9库函数简略版,以后除了msdn外,存档备用: D3DXCOLOR* D3DX ...

  10. git 不用clone整个远程仓库,只把特定的commit给fetch下来的方案

    一个麻烦点就是,我需要阅读一个大点的开源项目,远程仓库的代码量太庞大了,如果我需要git reset --hard [commit sha1]感兴趣的commit快照,就首先得git clone整个远 ...