MariaDB(MySql)使用储存过程和随机函数插入10万条数据
#定义一个表
create table demo (id int , name varchar(100))default charset =utf8;
#定义一个随机切割字符串的函数
delimiter //
create function randStr()
returns varchar(50)
begin
declare str varchar(30) default 'ASDFGHJKLZXCVBNMQWERTYUIOP';
return (substr(str,floor(1 + rand() * 26)));
end //
delimiter ;
#查看自定义函数的返回值
select randStr(); #定义一个随机字符串的函数,int varchar int+varchar类型
# randStr(3,1) --> 返回 3 个 长度的字符的varhcar类型
#判断 此函数存在不存在,存在删除。
drop function if exists randStr;
#定义 语句 结束符
delimiter //
create function randStr(size int, type int )
#返回值的类型
returns varchar(50)
begin
declare i int default 0; # 循环的步数
declare str varchar(30) default 'ASDFGHJKLZXCVBNMQWERTYUIOP';#字符类型
declare num int default ''; #整数类型
declare str_num varchar(40) default '';
declare return_str varchar(255) default ''; #用一个变量 保存 将要返回的值
#判断 type 的 传递进来的数值,给 str_num 赋值
set str_num = case type
when 1 then str
when 2 then num
else concat(str,num) end ;
#循环截取内容
while i<size do
set i = i+1;
set return_str = concat( return_str, substring(str_num, floor(length(str_num) * rand() + 1), 1) );
end while;
#返回值
return ( return_str );
end //
delimiter ;
#插入100000条数据
delimiter //
create procedure insert_data(num int)
begin
declare i int default 1 ;
set autocommit = 0; #将事物关闭
while i<=num do
set i =i+1;
insert into demo values (i,concat(i,randStr()));
end while;
commit ;
end //
delimiter ;
#调用存储过程
call insert_data(100000);
MariaDB(MySql)使用储存过程和随机函数插入10万条数据的更多相关文章
- java 批量插入10万条数据
for (int i = 0; i < 100000; i++) { dbHelper.insert("INSERT aaa(name) Values ('1')"); } ...
- 最短时间(几秒内)利用C#往SQLserver数据库一次性插入10万条数据
用途说明: 公司要求做一个数据导入程序,要求将Excel数据,大批量的导入到数据库中,尽量少的访问数据库,高性能的对数据库进行存储.于是在网上进行查找,发现了一个比较好的解决方案,就是采用SqlBul ...
- 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...
- 插入1000万条数据到mysql数据库表
转自:https://www.cnblogs.com/fanwencong/p/5765136.html 我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入100 ...
- 教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!
教你如何6秒钟往MySQL插入100万条数据!然后删库跑路! 由于我用的mysql 8版本,所以增加了Timezone,然后就可以了 前提是要自己建好库和表. 数据库test, 表user, 三个字段 ...
- 使用hibernate在5秒内插入11万条数据,你觉得可能吗?
需求是这样的,需要查询某几个表的数据,然后插入到另外一个表. 一看到需求,很多人都会用hibernate去把这些数据都查询出来,然后放到list中, 然后再用for循环之类的进行遍历,一条一条的取出数 ...
- Delphi 操作SQL 插入一万条数据 三种方式速度测试
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- PHP实现插入100万条数据优化
第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...
- PHP MySQL 快速导入10万条数据
项目背景 数据来源:所有数据均为外部导入,最大数据量在10w+ 输出数据:导出经过业务处理之后的数据 使用框架:fastadmin 涉及的问题: 1.数据读取 2.数据保存 使用数据:10w+ 解决方 ...
随机推荐
- java 重写的 几大注意点
Single Dispatch class Parent { void print(String a) { log.info("Parent - String"); } void ...
- tinymce 中我输入的内容 清空问题
<tinymce v-model="formItem.hDtContent" ref="content" @accessory="handlea ...
- 小菜鸟之Phyhon
# print("输入成绩",end="") # src=input() # print("成绩",end=src)#成绩 # print( ...
- JavaScript引用类型简单记录
Object Array instanceof Function 引用类型 - Object {} 等价于 new Object() 我们经常使⽤用对象来承载可选参数,⽽而⽤用 命名的形式参数来传递必 ...
- 什么是阿里云ACE认证
作为国内最大的云计算服务商,阿里云不仅引领着中国云计算技术在全球范围内扩大版图,同时还责无旁贷的承担着培养.壮大中国云生态人才力量的使命. 阿里云自2015年推出国内首个公有云技术认证以来,短短三年已 ...
- 深拷贝 & 浅拷贝
浅拷贝: class Professor { String name; int age; public Professor(String name, int age) { this.name = na ...
- Netty怎么切换三种I/O模式和源码解释
参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! 三种I/O模式 BIO:Block I/O,即同步并阻塞的IO:BI ...
- django进阶版1
目录 字段中choice参数 MTV与MVC模型 AJAX(*********) Ajax普通请求 Ajax传json格式化数据 Ajax传文件 序列化组件 Ajax+sweetalert 字段中ch ...
- Elasticsearch多集群数据同步
有时多个Elasticsearch集群避免不了要同步数据,网上查找了下数据同步工具还挺多,比较常用的有:elasticserach-dump.elasticsearch-exporter.logsta ...
- 高性能MySQL3_笔记0
该书2015年5月出版的,实际上已经有些老了,但是经典的东西还是经典. 该书一共16章 1.Mysql的架构与历史 2.Mysql基准测试 3.服务器性能剖析 4.Schema与数据类型优化 5.创建 ...