mysql快速生成测试数据

随机字符串函数

    DROP FUNCTION IF EXISTS `rand_string`;
    DELIMITER // -- 替换语句默认的执行符号,将;替换成 //
    CREATE FUNCTION `rand_string` (n INT) RETURNS VARCHAR(255) CHARSET 'utf8'
    BEGIN 
        DECLARE char_str varchar(200) DEFAULT '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        DECLARE return_str varchar(255) DEFAULT '';
        DECLARE i INT DEFAULT 0;
        WHILE i < n DO
            SET return_str = concat(return_str, substring(char_str, FLOOR(1 + RAND()*36), 1));
            SET i = i+1;
        END WHILE;
        RETURN return_str;
    END 
    //
    delimiter;

存贮过程批量插入数据

    DROP PROCEDURE IF EXISTS `batchInsertTestData`;
    
    DELIMITER //
    CREATE PROCEDURE `batchInsertTestData` (n INT) 
    BEGIN 
        DECLARE i INT DEFAULT 0;
        WHILE i < n DO
    				insert into good(gname,serialNumber,price,stock_number,create_time) 
    				values(rand_string(6),i,ROUND(RAND()*100),FLOOR(RAND()*100),now());
            SET i = i+1;
        END WHILE;
    END 
    //
    delimiter;
    
    call batchInsertTestData(100);

测试结果

mysql快速生成测试数据_第1张图片

你可能感兴趣的:(mysql)