mysql 字段钳口可加引号_mysql中使用存储过程生成1亿条数据

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_100million_data`( )

BEGIN

DECLARE i INT DEFAULT 0;

DECLARE uid char(10) DEFAULT '';

DECLARE count decimal(6,2) DEFAULT 0;

DECLARE name VARCHAR(255) DEFAULT '';

DECLARE content text;

DECLARE image varchar(255) default '';

DECLARE age INT DEFAULT 0;

declare status tinyint(1) default 0;

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

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

DECLARE l_xing int DEFAULT LENGTH(xing) / 3; # 这里的长度不是字符串的字数,而是此字符串的占的容量大小,一个汉字占3个字节

DECLARE l_ming int DEFAULT LENGTH(ming) / 3;

DECLARE final_xing VARCHAR(255) DEFAULT '';

DECLARE final_ming VARCHAR(255) DEFAULT '';

DECLARE texts varchar(2056) default '盖闻明主图危以制变,忠臣虑难以立权。是以有非常之人,然后有非常之事;有非常之事,然后立非常之功。夫非常者,固非常人所拟也。曩者,强秦弱主,赵高执柄,专制朝权,威福由己;时人迫胁,莫敢正言;终有望夷之败,祖宗焚灭,污辱至今,永为世鉴。及臻吕后季年,产禄专政,内兼二军,外统梁、赵;擅断万机,决事省禁;下陵上替,海内寒心。于是绛侯朱虚兴兵奋怒,诛夷逆暴,尊立太宗,故能王道兴隆,光明显融:此则大臣立权之明表也。司空曹操:祖父中常侍腾,与左悺、徐璜并作妖孽,饕餮放横,伤化虐民;父嵩,乞匄携养,因赃假位,舆金辇璧,输货权门,窃盗鼎司,倾覆重器。操赘阉遗丑,本无懿德,犭票狡锋协,好乱乐祸。幕府董统鹰扬,扫除凶逆;续遇董卓,侵官暴国。于是提剑挥鼓,发命东夏,收罗英雄,弃瑕取用;故遂与操同谘合谋,授以裨师,谓其鹰犬之才,爪牙可任。至乃愚佻短略,轻进易退,伤夷折衄,数丧师徒;幕府辄复分兵命锐,修完补辑,表行东郡,领兖州刺史,被以虎文,奖戚威柄,冀获秦师一克之报。而操遂承资跋扈,恣行凶忒,割剥元元,残贤害善。故九江太守边让,英才俊伟,天下知名;直言正色,论不阿谄;身首被枭悬之诛,妻孥受灰灭之咎。自是士林愤痛,民怨弥重;一夫奋臂,举州同声。故躬破于徐方,地夺于吕布;彷徨东裔,蹈据无所。幕府惟强干弱枝之义,且不登叛人之党,故复援旌擐甲,席卷起征,金鼓响振,布众奔沮;拯其死亡之患,复其方伯之位:则幕府无德于兖土之民,而有大造于操也。后会銮驾返旆,群虏寇攻。时冀州方有北鄙之警,匪遑离局;故使从事中郎徐勋,就发遣操,使缮修郊庙,翊卫幼主。操便放志:专行胁迁,当御省禁;卑侮王室,败法乱纪;坐领三台,专制朝政;爵赏由心,弄戮在口;所爱光五宗,所恶灭三族;群谈者受显诛,腹议者蒙隐戮;百僚钳口,道路以目;尚书记朝会,公卿充员品而已故太尉杨彪,典历二司,享国极位。操因缘眦睚,被以非罪;榜楚参并,五毒备至;触情任忒,不顾宪纲。又议郎赵彦,忠谏直言,义有可纳,是以圣朝含听,改容加饰。';

declare words varchar(45) default 'abcdefghijklmnopqrstuvwxyz-_';

drop table if exists `users`;

CREATE TABLE `users` (

`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,

`uid` CHAR(10) NOT NULL,

`name` VARCHAR(45) NOT NULL,

`age` TINYINT(2) UNSIGNED NOT NULL,

`count` DECIMAL(6 , 2 ) NOT NULL,

`image` varchar(255) default '',

`content` text,

`status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4;

START TRANSACTION;

WHILE i <= 100000000 DO

SELECT CEILING( RAND( ) * 9000000000+1000000000 ) INTO uid;

SELECT FLOOR(18 + (RAND() * 9)) INTO age;

SELECT ROUND((10 + (RAND() * 1001)), 2) INTO count;

SELECT SUBSTRING(xing,FLOOR(1 + RAND() * l_xing),1) INTO final_xing;

# 根据是否能被3整除,生成1个字或2个字的名字

if i % 3 = 0 then

select substring(ming, floor(1+rand()*l_ming),1) into final_ming;

else

select substring(ming, floor(1+rand()*l_ming),2) into final_ming;

end if;

SELECT CONCAT(final_xing, final_ming) INTO name;

# 组装image字段数据

select concat('images/', substring(words, floor(rand() * (length(words)-5)), 5), '_thumbnail.jpg') into image;

# 组装content数据

select substring(texts, floor(rand()*10), floor(10+rand()*length(texts)/3)) into content;

# 根据能否被5整除,设置status的值

IF i % 5 = 0 THEN

set status = 1;

END IF;

INSERT INTO users ( uid, name, age, count, image, content, status) VALUES ( uid, name, age, count, image, content, status);

SET i = i + 1;

END WHILE;

COMMIT;

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值