mysql-使用存储过程创建大批量数据
参考:https://www.iteye.com/blog/825635381-2161290
场景1.创建1万个table,每个table种插入1条记录
DELIMITER $$ CREATE DATABASE `lr_test` $$
USE `lr_test` $$ DROP PROCEDURE IF EXISTS `cyc` $$ CREATE PROCEDURE `cyc`(
)
BEGIN
DECLARE i INT;
DECLARE MAX INT DEFAULT 10000;
DECLARE table_name VARCHAR(20); SET i = 0; WHILE i<MAX DO
SET table_name = CONCAT('e_',i); SET @csql = CONCAT('CREATE TABLE ', table_name, '(ID int) ENGINE=Innodb default charset=utf8;');
PREPARE create_stmt FROM @csql;
EXECUTE create_stmt; SET @insertsql = CONCAT('INSERT INTO ', table_name, ' VALUES(', 1, ') ');
PREPARE insert_stmt FROM @insertsql;
EXECUTE insert_stmt; SET i = i + 1;
END WHILE;
END $$ DELIMITER ; call cyc;
场景2.在1张table种插入1万条记录
DELIMITER $$ #CREATE DATABASE `lr_test` $$
#USE `lr_test` $$ DROP PROCEDURE IF EXISTS `cyc` $$ CREATE PROCEDURE `cyc`(
)
BEGIN DECLARE i INT DEFAULT 0;
DECLARE MAX INT DEFAULT 10000; WHILE i < MAX DO SET @insertsql = CONCAT('INSERT INTO lr_test.a_1 VALUES(', i, ') ');
PREPARE insert_stmt FROM @insertsql;
EXECUTE insert_stmt; SET i = i + 1;
END WHILE;
END $$ DELIMITER ; call cyc;
mysql-使用存储过程创建大批量数据的更多相关文章
- mysql 使用存储过程批量插数据
#创建测试表 DROP TABLE IF EXISTS test.test; CREATE TABLE test.test( id int(10) not null auto_increment, a ...
- mysql利用存储过程批量插入数据
最近需要测试一下mysql单表数据达到1000W条以上时增删改查的性能.由于没有现成的数据,因此自己构造,本文只是实例,以及简单的介绍. 首先当然是建表: [sql]view plaincopy CR ...
- 用MYSQL的存储过程创建百万级测试数据表
创建随机字符串函数,便于创建名称 DROP function if EXISTS rand_string; #创建一个指定字符个数的函数 create function rand_string(n I ...
- Mysql使用存储过程创建测试数据
一.概述 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集.其存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出 ...
- mysql应用存储过程批量插入数据
--批量插入数据的sql语句 delimiter $$ DROP PROCEDURE IF EXISTS `test.sp_insert_batch` $$ CREATE DEFINER =`root ...
- Laravel 命令行工具之多线程同步大批量数据 DB连接混乱 解决方案
记一次大批量数据的多进程同步 背景:因为公司的用户标识不完整,所以需要从集团同步一次用户标记数据,用户数据来源是微信,数量级为一百五十万,集团用户数量级为六百万 方案确定下来是集团开了一个查询接口,访 ...
- python连接mysql循环插入千万条数据脚本
之前都是在mysql的存储过程中插入数据,毕竟mysql语法函数有限,很多都有限制.突然想到学了python正好可以练练手.首先需要安装pymysql模块包(模块包安装请自行百度) pip insta ...
- python mysql 视图 触发器 事物 存储过程 用户授权 数据备份还原
###################总结########### 视图是一个虚拟表(非真实存在) 是跑在内存中的表,真实表是在硬盘上的表 使用视图我们可以把查询过程中的临时表摘出来,保存下来,用视图去 ...
- 【转】图解MySql命令行创建存储过程
一 操作实例 首先登录mysql: 使用source命令,从命令行执行sql脚本,创建表: 创建第一个存储过程: 事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";&q ...
随机推荐
- float布局打破标准流,神助攻clear清浮动
布局是什么?根据功能划分小块,再根据设计稿还原,书写静态页面,然后再在块里面填充内容,完善功能,js施加交互效果.div作为一个容器,独占一行,代码书写习惯从上至下属于标准流,而浮动float的css ...
- Android中使用Canvas和Paint绘制一个安卓机器人
场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...
- Mac-MacOS降级(Mac系统降级,系统回退)
前言 最近把macOS更新到了 macOS Catalina,使用了一段时间后,结合自己的使用环境和体验,感觉 Catalina 不太好用,就想把系统回退到 macOS Mojave,但是平时几乎不用 ...
- 算法训练 最大获利 注意数据规模(long long)
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Chakra是一位年轻有为的企业家,最近他在进军餐饮行业.他在各地开拓市场,共买下了N个饭店.在初期的市场调研中,他将一天划分为M ...
- mysql必知必会--排序检索数据
排序数据 其实,检索出的数据并不是以纯粹的随机顺序显示的.如果不排 序,数据一般将以它在底层表中出现的顺序显示.这可以是数据最初 添加到表中的顺序.但是,如果数据后来进行过更新或删除,则此顺 序将会受 ...
- Oracle查询如何才能行转列?-sunziren
原创文章,转载务必注明出处. 今天工作的时候,碰到一个问题,涉及oracle行转列,用了半小时解决,因此在这里写个博客记录一下解决办法. 原数据库表的数据是: 想要达到的效果是: 经过思考,这是一个o ...
- LeetCode 56. Merge Intervals 合并区间 (C++/Java)
题目: Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6] ...
- jQuery---jquery.ui实现新闻模块
jquery.ui实现新闻模块 jquery也有ui,了解即可,用的不多,类似element ui 和bootstrap JQuery UI API: jquery.ui实现新闻模块 draggale ...
- 搭建网页HTML结构
div 块级标签 span 行内标签 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- HTML概念、语法及常用基础标签
HTML基础语法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...