MySQL一些随机函数记录
有时候我们需要模拟数据的进行测试,你是不是还在输入姓名,张三1,张三2?,手机号码13411111111?来来来,咱们可以用自定义函数来解决随机数据的生成,通过存储过程来批量插入数据。
1、创建一张学生表做测试
CREATE DATABASE IF NOT EXISTS myschool;
-- 选择myschool数据库
USE myschool;
-- 创建学生表结构
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`(
`studentNo` INT(4) NOT NULL COMMENT '学号',
`studentName` VARCHAR(50) NOT NULL COMMENT '学生姓名',
`sex` CHAR(2) DEFAULT '男' NOT NULL COMMENT '性别',
`gradeId` INT(4) UNSIGNED COMMENT '年级编号',
`phone` VARCHAR(50) COMMENT '联系电话',
`bornDate` DATETIME COMMENT '出生时间',
PRIMARY KEY(`studentNo`)
) COMMENT '学生表';
2、随机函数
这些代码有些参考或来源于网络,有些是自己写的,一起执行吧,函数之间有些是依赖关系。
-- 随机姓名
DROP FUNCTION IF EXISTS randName;
DELIMITER //
CREATE FUNCTION randName()
RETURNS VARCHAR(3)
BEGIN
DECLARE xing VARCHAR(2056) DEFAULT '赵钱孙李周郑王冯陈楮卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闽席季麻强贾路娄危江童颜郭梅盛林刁锺徐丘骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁';
DECLARE ming VARCHAR(2056) DEFAULT '嘉懿煜城懿轩烨伟苑博伟泽熠彤鸿煊博涛烨霖烨华煜祺智宸正豪昊然明杰诚