创建一个存储过程 DELIMITER $$ -- 设置定界符为$$,与';'意思相同,防止相同符号产生冲突

USE `yunkc_base1`$$ -- 使用数据库

DROP PROCEDURE IF EXISTS `insert_test`$$ -- 如果存在insert_test存储过程名字,则删除

CREATE DEFINER=`ykcbase`@`%` PROCEDURE `insert_test`() -- 设置存储过程的权限

BEGIN-- 开始

DECLARE i INT; -- 定义一个i的int变量

SET i = 0;-- 设置i的值为0

SET @id = 3;-- 设置一个id变量,全局

START TRANSACTION;-- 开启事务

WHILE-- 循环

i < 200001 DO-- 当i的值小于200001的时候执行 do

INSERT INTO `base_s_t_charging_user` (-- 插入语句

`user_account`,

`vehicle_org_id`,

`user_nick_name`,

`user_avatar`,

`user_phone`,

`user_district_id`,`is_ykc`

)

VALUES

(

CONCAT('yh', @id := @id + 1),-- 用户自增 拼接'yh1'

163,

generateUserName (),-- 外部函数,用来生成用户名

'',

generatePhone (),-- 外部函数,用来生成手机号

119,1

);

INSERT INTO `base_d_t_charging_user_operation_info` (`user_id`, `user_card_no`,`multiple_charge`,`user_freeze_status`)

VALUES

(LAST_INSERT_ID(), generatePhone (),500102,600102);-- LAST_INSERT_ID(),mysql内部函数,获取上一条插入语句的值

SET i = i + 1;-- 执行完一次,i++,保证数据不重复

END WHILE;-- 结束循环

COMMIT;-- 事务一次性提交

END$$-- 结束

DELIMITER ; -- 告诉mysql,$$ 定界符已经使用结束了,重新赋值为';'

生成姓名函数 DELIMITER $$

CREATE FUNCTION `yunkc_base1`.`generateUserName` () RETURNS varchar(255) CHARSET utf8 DETERMINISTIC -- 创建函数generateUserName() RETURNS 返回值类型为varchar(255),字符集utf8

BEGIN-- 开始

DECLARE xing VARCHAR (2056) DEFAULT '赵钱孙李周郑王冯陈楮卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闽席季麻强贾路娄危江童颜郭梅盛林刁锺徐丘骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁';-- 定义姓

DECLARE ming VARCHAR (2056) DEFAULT '嘉懿煜城懿轩烨伟苑博伟泽熠彤鸿煊博涛烨霖烨华煜祺智宸正豪昊然明杰诚立轩立辉峻熙弘文熠彤鸿煊烨霖哲瀚鑫鹏致远俊驰雨泽烨磊晟睿天佑文昊修洁黎昕远航旭尧鸿涛伟祺轩越泽浩宇瑾瑜皓轩擎苍擎宇志泽睿渊楷瑞轩弘文哲瀚雨泽鑫磊梦琪忆之桃慕青问兰尔岚元香初夏沛菡傲珊曼文乐菱痴珊恨玉惜文香寒新柔语蓉海安夜蓉涵柏水桃醉蓝春儿语琴从彤傲晴语兰又菱碧彤元霜怜梦紫寒妙彤曼易南莲紫翠雨寒易烟如萱若南寻真晓亦向珊慕灵以蕊寻雁映易雪柳孤岚笑霜海云凝天沛珊寒云冰旋宛儿绿真盼儿晓霜碧凡夏菡曼香若烟半梦雅绿冰蓝灵槐平安书翠翠风香巧代云梦曼幼翠友巧听寒梦柏醉易访旋亦玉凌萱访卉怀亦笑蓝春翠靖柏夜蕾冰夏梦松书雪乐枫念薇靖雁寻春恨山从寒忆香觅波静曼凡旋以亦念露芷蕾千兰新波代真新蕾雁玉冷卉紫山千琴恨天傲芙盼山怀蝶冰兰山柏翠萱乐丹翠柔谷山之瑶冰露尔珍谷雪乐萱涵菡海莲傲蕾青槐冬儿易梦惜雪宛海之柔夏青亦瑶妙菡春竹修杰伟诚建辉晋鹏天磊绍辉泽洋明轩健柏煊昊强伟宸博超君浩子骞明辉鹏涛炎彬鹤轩越彬风华靖琪明诚高格光华国源宇晗昱涵润翰飞翰海昊乾浩博和安弘博鸿朗华奥华灿嘉慕坚秉建明金鑫锦程瑾瑜鹏经赋景同靖琪君昊俊明季同开济凯安康成乐语力勤良哲理群茂彦敏博明达朋义彭泽鹏举濮存溥心璞瑜浦泽奇邃祥荣轩'; -- 定义名

DECLARE I_xing INT DEFAULT LENGTH(xing) / 3; -- 定义姓的下标

DECLARE I_ming INT DEFAULT LENGTH(ming) / 3;-- 定义名的下标

DECLARE return_str VARCHAR (2056) DEFAULT '';-- 定义默认的返回值

SET return_str = CONCAT(

return_str,

SUBSTRING(xing, FLOOR(1 + RAND() * I_xing), 1)-- 截取xing集合中的随机一个下标,取一位(字符下标从1开始)

);

SET return_str = CONCAT(

return_str,

SUBSTRING(ming, FLOOR(1 + RAND() * I_ming), 1)

);

IF RAND() > 0.400-- 如果随机函数值大于0.4.则添加第3个名字

THEN SET return_str = CONCAT(

return_str,

SUBSTRING(ming, FLOOR(1 + RAND() * I_ming), 1)

);

END IF;-- 结束if语句

RETURN return_str;-- 返回执行结果

END $$-- 结束

DELIMITER ;-- 重新定义定界符为';'

生成手机号函数 DELIMITER $$

CREATE FUNCTION `yunkc_base1`.`generatePhone` () RETURNS char(11) CHARSET utf8

DETERMINISTIC

BEGIN

DECLARE head VARCHAR (100) DEFAULT '000,156,136,176';

DECLARE content CHAR(10) DEFAULT '0123456789';

DECLARE phone CHAR(11) DEFAULT SUBSTRING(head, 1+ (FLOOR(1 + (RAND() * 3)) * 4), 3);

#SET phone = CONCAT(phone, substring('156,136,123,456,789', 1+(FLOOR(1 + (RAND() * 4))*4), 3));

DECLARE i INT DEFAULT 1;

DECLARE len INT DEFAULT LENGTH(content);

WHILE

i < 9 DO SET i = i + 1;

SET phone = CONCAT(

phone,

SUBSTRING(content, FLOOR(1 + RAND() * len), 1)

);

END WHILE;

RETURN phone;

END $$

DELIMITER ;

mysql输入20万数据_mysql生成20万条数据(连表插入)相关推荐

  1. mysql选出重复的字段_mysql查询表里的重复数据方法:

    INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete from hk_test  ...

  2. mysql查询表里面重复的数据_mysql查询表里的重复数据方法

    这篇文章主要介绍了mysql查询表里的重复数据方法,需要的朋友可以参考下 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),( ...

  3. mysql分组取出每组地一条数据_基于mysql实现group by取各分组最新一条数据

    基于mysql实现group by取各分组最新一条数据 前言: group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢? 本文提供两种实现方式. 一.准 ...

  4. mysql取分组数据中每个分组的最新一条数据

    mysql取分组数据中每个分组的最新一条数据 select * from data td,(select max(id) id from log group by name) md where td. ...

  5. mybatisPlus中getOne方法如何只取其中一条数据(Wrapper有多条数据时)

    mybatis-plus中getOne方法只能取一条数据,如果取得多条数据会报错,要么换其他方法,要么只选择其中一条,在条件构造器Wrapper结尾加上.last("limit 1" ...

  6. mysql输入中文出现 号_MySQL插入中文数据出现?号

    运行环境:win10 mysql版本:Mysql5.6 做一个项目的时候,向数据库插入中文数据,一直都是? 问过度娘之后,她提供的以下办法: 1.在连接数据库的url后加:?useUnicode=tr ...

  7. mysql造1000万数据_MySQL制作具有千万条测试数据的测试库

    有时候需要制造一些测试的数据,以mysql官方给的测试库为基础,插入十万,百万或者千万条数据.利用一些函数和存储过程来完成. 导入官方的数据库,做了一些简化,留下了部门表,员工表和雇佣表三张表,去掉了 ...

  8. mysql日志恢复数据_Mysql 通过binlog日志恢复数据

    Binlog日志,即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日 ...

  9. mysql怎样删除上一行_mysql如何删除第一行数据

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  10. mysql 输入汉字全是_mysql中文问题全处理

    1.在dos环境下,用mysql --default-character-set=gbk -u root -p 这句话进入mysql~~ 2.建数据库.表,如下: create database ad ...

最新文章

  1. 使用python收取IMAP邮件即fox邮件且设置为已读
  2. android自定义控件绘制位置,Android自定义控件之——文字圆形边框(将文字绘制在圆中间)...
  3. python游戏-练习项目19:使用python制作游戏(上)
  4. LINUX系统管理员技术(Admin)-------第二天
  5. 谈谈writev的问题
  6. 【Head First Java 读书笔记】(一)基本概念
  7. windows下使用Caffe框架和matlab实现SRCNN官方代码的步骤
  8. JAVA.SQL.SQLNONTRANSIENTCONNECTIONEXCEPTION: COULD NOT CREATE CONNECTION TO DATABASE SERVER. ATTEMPT
  9. (转)Vue-初步了解vue-router的三要素:路由map 、路由视图、路由导航
  10. 显示js对象所有属性和方法的函数
  11. JAVA大数——lightoj1024
  12. S太赞了!大佬竟然用ELK搭建起了支撑TB级的日志监控系统...
  13. greenplum客户端工具_GreenPlum数据加载工具gpload | 信春哥,系统稳,闭眼上线不回滚!...
  14. Qimage QBuffer
  15. imx8qxp uuu 下载脚本example_kernel_emmc.uuu注释
  16. 码农、程序员、工程师这三者之间有什么区别?
  17. windows scrip host报错代码:800A00D
  18. Excel知道身份证号码怎么快速提取出年龄
  19. 今天是第几天python_“昔我往矣,杨柳依依。今我来思,雨雪霏霏”全诗赏析
  20. 【Win11共享打印机,win11家庭版中添加组策略】

热门文章

  1. 常用的网站建设程序有哪些?
  2. 使用CobaltStrike制作钓鱼网站
  3. 十五、方差分析--使用Python进行单因素方差分析(ANOVA)
  4. The following method did not exist:com.google.gson.GsonBuilder.setLenient()
  5. facebook登录我游戏_Facebook对我的位置了解多少
  6. 准时下班系列_Word合集之第1集—批量设置嵌入型图片解决方案
  7. 【Linux应用层】防火墙iptables命令
  8. Github中的缩写(PR, WIP, PTAL, TBR, TL, LGTM, SGTM, AFAIK, CC)含义
  9. 产品画的Axure原型图打不开解决办法
  10. python excel 空值,python 删除空值且合并excel的操作