记录一个随机生成大量数据的存储过程(针对特定的表)
第一步:
创建表:
CREATE TABLE `person` (
`id` bigint(20) unsigned NOT NULL,
`fname` varchar(100) NOT NULL,
`lname` varchar(100) NOT NULL,
`age` tinyint(3) unsigned NOT NULL,
`sex` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
创建存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `generate`(IN num INT)
BEGIN
DECLARE chars varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE fname VARCHAR(25) DEFAULT '';
DECLARE lname VARCHAR(25) DEFAULT '';
DECLARE id int UNSIGNED;
DECLARE len int;
set id=1;
DELETE from person;
WHILE id <= num DO
set len = FLOOR(1 + RAND()*25);
set fname = '';
WHILE len > 0 DO
SET fname = CONCAT(fname,substring(chars,FLOOR(1 + RAND()*62),1));
SET len = len - 1;
END WHILE;
set len = FLOOR(1+RA

本文介绍如何使用MySQL存储过程来快速生成指定数量的测试数据,适用于填充测试环境数据库,详细步骤包括创建表和自定义数据生成逻辑。
&spm=1001.2101.3001.5002&articleId=74004511&d=1&t=3&u=73598f066a1740bf9fa03bea9b48385f)
2253

被折叠的 条评论
为什么被折叠?



