怎么批量生成MySQL不重复手机号的示例
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要介绍怎么批量生成MySQL不重复手机号的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、生成脚本生成说明:以下使用存储过程批量生成包含用户名,手机号,出生日期
千家信息网最后更新 2024年11月11日怎么批量生成MySQL不重复手机号的示例
这篇文章主要介绍怎么批量生成MySQL不重复手机号的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、生成脚本
生成说明:
以下使用存储过程批量生成包含用户名,手机号,出生日期等字段大表。
该存储过程使用基于uid作为主键,因此会生成少量重复手机号码,后面有滤重SQL脚本。
如果想一次性生成不重复手机号码,可以考虑修改以下脚本,去掉uid,基于mobile列作为主键
DROP TABLE IF EXISTS big_table;DROP PROCEDURE IF EXISTS prc_gen_user;CREATE TABLE `big_table` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `mobile` char(11) DEFAULT NULL, `passwd` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `sex` tinyint DEFAULT NULL, `birthday` datetime DEFAULT NULL, `updated_time` datetime DEFAULT NULL, PRIMARY KEY (`uid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE PROCEDURE prc_gen_user(l_cnt int)BEGIN DECLARE x INT DEFAULT 0; DECLARE p char(11); WHILE x < l_cnt DO SET x = x + 1; SET p = concat('1', substring(cast(3 + (rand() * 10) % 7 AS char(50)), 1, 1), right(left(trim(cast(rand() AS char(50))), 11), 9)); INSERT INTO big_table(mobile, passwd, name, sex, birthday, updated_time) VALUES ( p, md5(ceiling(rand() * 1000000)), concat( substring( '赵钱孙李周吴郑王冯陈诸卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金 魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任 袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮齐康 伍余元卜顾孟平黄和穆萧尹姚邵堪汪祁毛禹狄米贝明臧计伏成戴谈 宋茅庞熊纪舒屈项祝董粱杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛 林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯咎管卢莫经房裘干解应宗 丁宣贲邓郁单杭洪包诸左石崔吉钮龚', floor(1 + 190 * rand()), 1), substring( '明国华建文平志伟东海强晓生光林小民永杰军金健一忠洪江福祥中 正振勇耀春大宁亮宇兴宝少剑云学仁涛瑞飞鹏安亚泽世汉达卫利胜 敏群波成荣新峰刚家龙德庆斌辉良玉俊立浩天宏子松克清长嘉红山 贤阳乐锋智青跃元武广思雄锦威启昌铭维义宗英凯鸿森超坚旭政传 康继翔栋仲权奇礼楠炜友年震鑫雷兵万星骏伦绍麟雨行才希彦兆贵 源有景升惠臣慧开章润高佳虎根远力进泉茂毅富博霖顺信凡豪树和 恩向道川彬柏磊敬书鸣芳培全炳基冠晖京欣廷哲保秋君劲轩帆若连 勋祖锡吉崇钧田石奕发洲彪钢运伯满庭申湘皓承梓雪孟其潮冰怀鲁 裕翰征谦航士尧标洁城寿枫革纯风化逸腾岳银鹤琳显焕来心凤睿勤 延凌昊西羽百捷定琦圣佩麒虹如靖日咏会久昕黎桂玮燕可越彤雁孝 宪萌颖艺夏桐月瑜沛诚夫声冬奎扬双坤镇楚水铁喜之迪泰方同滨邦 先聪朝善非恒晋汝丹为晨乃秀岩辰洋然厚灿卓杨钰兰怡灵淇美琪亦 晶舒菁真涵爽雅爱依静棋宜男蔚芝菲露娜珊雯淑曼萍珠诗璇琴素梅 玲蕾艳紫珍丽仪梦倩伊茜妍碧芬儿岚婷菊妮媛莲娟一', floor(1 + 400 * rand()), 1), substring( '明国华建文平志伟东海强晓生光林小民永杰军金健一忠洪江福祥中 正振勇耀春大宁亮宇兴宝少剑云学仁涛瑞飞鹏安亚泽世汉达卫利胜 敏群波成荣新峰刚家龙德庆斌辉良玉俊立浩天宏子松克清长嘉红山 贤阳乐锋智青跃元武广思雄锦威启昌铭维义宗英凯鸿森超坚旭政传 康继翔栋仲权奇礼楠炜友年震鑫雷兵万星骏伦绍麟雨行才希彦兆贵 源有景升惠臣慧开章润高佳虎根远力进泉茂毅富博霖顺信凡豪树和 恩向道川彬柏磊敬书鸣芳培全炳基冠晖京欣廷哲保秋君劲轩帆若连 勋祖锡吉崇钧田石奕发洲彪钢运伯满庭申湘皓承梓雪孟其潮冰怀鲁 裕翰征谦航士尧标洁城寿枫革纯风化逸腾岳银鹤琳显焕来心凤睿勤 延凌昊西羽百捷定琦圣佩麒虹如靖日咏会久昕黎桂玮燕可越彤雁孝 宪萌颖艺夏桐月瑜沛诚夫声冬奎扬双坤镇楚水铁喜之迪泰方同滨邦 先聪朝善非恒晋汝丹为晨乃秀岩辰洋然厚灿卓杨钰兰怡灵淇美琪亦 晶舒菁真涵爽雅爱依静棋宜男蔚芝菲露娜珊雯淑曼萍珠诗璇琴素梅 玲蕾艳紫珍丽仪梦倩伊茜妍碧芬儿岚婷菊妮媛莲娟一', floor(1 + 400 * rand()), 1)), ceiling(rand() * 10) % 2, date( now() - INTERVAL (20 + ceiling(rand() * 100) % 40) YEAR), concat('2018-', 1 + ceiling(rand() * 100) % 12, '-', 1 + ceiling(rand() * 100) % 28)) ON DUPLICATE KEY UPDATE updated_time = now(); END WHILE;END
二、数据填充
call prc_gen_user(1000);Query OK, 1 row affected (1.38 sec)select count(*) from big_table;+----------+| count(*) |+----------+| 1000 |+----------+1 row in set (0.00 sec)select 'Leshami' author,'http://blog.csdn.net/leshami' Blog;+---------+------------------------------+| author | Blog |+---------+------------------------------+| Leshami | http://blog.csdn.net/leshami |+---------+------------------------------+
三、滤重SQL语句
DELETE FROM big_tableWHERE mobile IN (SELECT mobile FROM (SELECT u1.mobile FROM big_table u1 GROUP BY u1.mobile HAVING count(*) > 1) a) AND uid NOT IN (SELECT uid FROM (SELECT min(u2.uid) AS uid FROM big_table u2 GROUP BY u2.mobile HAVING count(*) > 1) b);
四、其它
本文参考了以下代码,下面代码实现是MySQL批量造用户数据,姓名/手机号/生日/密码
DROP PROCEDURE IF EXISTS batchGenerateUsers;DELIMITER $$CREATE PROCEDURE batchGenerateUsers()BEGINDECLARE x INT Default 0; DECLARE p char(11);WHILE x < 10000 DOSET x=x+1; SET p=concat('1', cast(3+(rand()*10)%7 as char(1)), right(left(trim(cast(rand() as char (20))), 11),9));insert into my_users(mobile, passwd, name, sex, birthday, updated_time)values(p,md5(ceiling(rand()*1000000)),concat(substring('赵钱孙李周吴郑王冯陈诸卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮齐康伍余元卜顾孟平黄和穆萧尹姚邵堪汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董粱杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯咎管卢莫经房裘干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚',floor(1+190*rand()),1),substring('明国华建文平志伟东海强晓生光林小民永杰军金健一忠洪江福祥中正振勇耀春大宁亮宇兴宝少剑云学仁涛瑞飞鹏安亚泽世汉达卫利胜敏群波成荣新峰刚家龙德庆斌辉良玉俊立浩天宏子松克清长嘉红山贤阳乐锋智青跃元武广思雄锦威启昌铭维义宗英凯鸿森超坚旭政传康继翔栋仲权奇礼楠炜友年震鑫雷兵万星骏伦绍麟雨行才希彦兆贵源有景升惠臣慧开章润高佳虎根远力进泉茂毅富博霖顺信凡豪树和恩向道川彬柏磊敬书鸣芳培全炳基冠晖京欣廷哲保秋君劲轩帆若连勋祖锡吉崇钧田石奕发洲彪钢运伯满庭申湘皓承梓雪孟其潮冰怀鲁裕翰征谦航士尧标洁城寿枫革纯风化逸腾岳银鹤琳显焕来心凤睿勤延凌昊西羽百捷定琦圣佩麒虹如靖日咏会久昕黎桂玮燕可越彤雁孝宪萌颖艺夏桐月瑜沛诚夫声冬奎扬双坤镇楚水铁喜之迪泰方同滨邦先聪朝善非恒晋汝丹为晨乃秀岩辰洋然厚灿卓杨钰兰怡灵淇美琪亦晶舒菁真涵爽雅爱依静棋宜男蔚芝菲露娜珊雯淑曼萍珠诗璇琴素梅玲蕾艳紫珍丽仪梦倩伊茜妍碧芬儿岚婷菊妮媛莲娟一',floor(1+400*rand()),1),substring('明国华建文平志伟东海强晓生光林小民永杰军金健一忠洪江福祥中正振勇耀春大宁亮宇兴宝少剑云学仁涛瑞飞鹏安亚泽世汉达卫利胜敏群波成荣新峰刚家龙德庆斌辉良玉俊立浩天宏子松克清长嘉红山贤阳乐锋智青跃元武广思雄锦威启昌铭维义宗英凯鸿森超坚旭政传康继翔栋仲权奇礼楠炜友年震鑫雷兵万星骏伦绍麟雨行才希彦兆贵源有景升惠臣慧开章润高佳虎根远力进泉茂毅富博霖顺信凡豪树和恩向道川彬柏磊敬书鸣芳培全炳基冠晖京欣廷哲保秋君劲轩帆若连勋祖锡吉崇钧田石奕发洲彪钢运伯满庭申湘皓承梓雪孟其潮冰怀鲁裕翰征谦航士尧标洁城寿枫革纯风化逸腾岳银鹤琳显焕来心凤睿勤延凌昊西羽百捷定琦圣佩麒虹如靖日咏会久昕黎桂玮燕可越彤雁孝宪萌颖艺夏桐月瑜沛诚夫声冬奎扬双坤镇楚水铁喜之迪泰方同滨邦先聪朝善非恒晋汝丹为晨乃秀岩辰洋然厚灿卓杨钰兰怡灵淇美琪亦晶舒菁真涵爽雅爱依静棋宜男蔚芝菲露娜珊雯淑曼萍珠诗璇琴素梅玲蕾艳紫珍丽仪梦倩伊茜妍碧芬儿岚婷菊妮媛莲娟一',floor(1+400*rand()),1)),ceiling(rand()*10)%2,date(now()-interval (20+ceiling(rand()*100)%40) year),concat('2015-', 1+ceiling(rand()*100),'-',1+ceiling(rand()*100)%28))ON DUPLICATE KEY UPDATEupdated_time=now();END WHILE;END $$#call batchGenerateUsers();
并对其进行适当修改。
以上是"怎么批量生成MySQL不重复手机号的示例"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
生成
手机
手机号
小民
洪江
生光
元武
克清
利胜
善非
大宁
宗英
宜男
富博
志伟
显焕
权奇
汉达
洋然
碧芬
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库关键更新
直播视频软件开发公司
即时通讯软件开发收费情况
华为思科网络安全认证
我的世界怎么熊服务器
武汉市怎样注册软件开发公司
弱电工程服务器维修站点
软件开发公司 二维码
人工智能和网络安全报告
查询数据库表的数据量大小
想搞软件开发选什么专业
预防勒索病毒网络安全
软件开发的质量管理
c语言集成开发软件开发
通信网络安全副高自述
服务器校时时区错误
工信部网络安全分类
太原市众科网络技术服务有限公司
国际经济网网络安全
电信宽带对应的是不是电信服务器
软件开发活动中何时开展评审
网络安全教师考编
老年人软件开发成本结构
苏州企业软件开发服务电话
崇明区安装网络技术应用范围
网络安全审查导图
鄞州ios软件开发设计
电脑怎么下载花雨庭服务器
数据库中的年份怎么提取
南京网络安全保卫大队