MySQL生成测试数据

在使用MySQL中需要生成一些数据用于测试

function/procedure

mysql> desc test_a;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | int      | NO   |     | NULL    |       |
| col   | char(18) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.01 sec)
delimiter $$
CREATE PROCEDURE rand_test_a_data (in i_many int)
BEGIN
	DECLARE ic int DEFAULT 0;
	
	truncate table test_a;
	
	START TRANSACTION;
	REPEAT
		insert into test_a (id, col) VALUES (floor(rand() * 100000), LEFT ( concat(rand() * 10000000000, 'ajkshxm' ), 18 ));
		set ic = ic + 1;
	UNTIL 
		ic = i_many 
	END REPEAT;
	
	COMMIT;

end $$
delimiter ;

相关函数的运行也可以直接在navicat下运行

pSfy4VH.png

函数下可以对函数进行运行, 编辑等操作.

pSfURKA.png

打开表 => 数据生成即可

内置了多种类型的数据, 例如姓名, 地址, 账号id等

mysql> select * from test_j limit 3;
+------+-----------+----------------------------------------------------+
| id   | name      | address                                            |
+------+-----------+----------------------------------------------------+
|  433 | 顾宇宁    | 中国北京市房山区岳琉路992号1室                     |
|  289 | 廖子韬    | 中国广州市越秀区中山二路603号9栋                   |
|  308 | 邵震南    | 中国中山紫马岭商圈中山五路661号32室                |
+------+-----------+----------------------------------------------------+
3 rows in set (0.01 sec)