数据库获取随机(指定长度)字符串

    技术2024-06-20  83

    DELIMITER $ CREATE FUNCTION rand_str2(len INT) RETURNS VARCHAR(20) BEGIN -- 声明一个变量用于保存要返回的字符串 DECLARE return_str VARCHAR(20) DEFAULT ''; -- 声明一个用于循环生成的临时变量 DECLARE i INT DEFAULT 0; -- 声明一个变量,用于存存储所有字符串 DECLARE chars_str VARCHAR(62) DEFAULT 'qwertyuioplkjhgfdsazxcvbnmMNBVCXZASDFGHJKLPOIUYTREWQ1234567890'; -- 循环生成 WHILE i<len DO -- 重新给return_Str设置值,让它的值,在原有的基础上拼接一个随机字符 SET return_str=CONCAT(return_str,SUBSTRING(chars_str,FLOOR(RAND()*62+1),1)); -- 让i自增 SET i = i+1; END WHILE; RETURN return_str; END$ DELIMITER ; SELECT rand_str2(10); -- 创建存储过程,用于向tab_user表中插入1000000条数据 DELIMITER $ CREATE PROCEDURE batch_insert2() BEGIN -- 定义一个用于循环的临时变量 DECLARE i INT DEFAULT 1; -- 手动开启事务 START TRANSACTION; -- 循环1000000次 WHILE i <= 1000000 DO -- 向tab_user插入数据 INSERT INTO tab_user VALUES(NULL,CONCAT('张三',i),rand_str2(10)); -- 临时变量加1 SET i = i+1; END WHILE; -- 手动提交事务 COMMIT; END$ DELIMITER ; -- 调用存储过程 CALL batch_insert2();

    或者 用自带函数uuid()

    Processed: 0.010, SQL: 10