mysql创建海量数据的测试表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jm19920911/article/details/82219139

表结构:

id name category category_name file_id status
1 RvK50 4 CWF 2899eff6-3dfe-11e8-be59-485ab6e4c686 1
2 Fq1CV 1 zVK 289a220a-3dfe-11e8-be59-485ab6e4c686 2

需求:
- id自增
- name是5为的随机字符串
- category是0-9的整数
- categoey_name是3位随机字符串
- file_id取mysql的UUID()函数
- status取0-4的整数.

做法:
1. 创建函数,用于生成n位的随机字符串:
CREATE DEFINER=’root’@’localhost’ FUNCTION ‘randomString’(‘n’ int) RETURNS varchar(255) CHARSET utf8mb4
BEGIN
DECLARE char_str varchar(100) DEFAULT ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’;
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()*62), 1));
SET i = i+1;
END WHILE;
RETURN return_str;
END
2. 创建存储过程,用于创建数据
CREATE DEFINER=’root’@’localhost’ PROCEDURE ‘add_vote_record_memory’(IN ‘n’ INT)
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE category INT DEFAULT 0;
DECLARE status INT DEFAULT 0;
WHILE i < n DO
SET category = FLOOR(RAND() * 10);
SET status = FLOOR(RAND()*5);
INSERT INTO ‘video’ VALUES (NULL, randomString(5),category,randomString(3),UUID(),status);
SET i = i + 1;
END WHILE;
END

猜你喜欢

转载自blog.csdn.net/jm19920911/article/details/82219139
今日推荐