2020-07-09 18:12:00
围观(4994)
本文的操作均使用 HeidiSQL.
首先创建一个数据库, 例如取名为 so_cool, 再创建一个 test 表, 表只需要两个字段 id, name(需要更多字段另外加上就好):
CREATE TABLE `test` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(64) NOT NULL DEFAULT '0' COLLATE 'utf8_unicode_ci', PRIMARY KEY (`id`) USING BTREE ) COLLATE='utf8_unicode_ci' ENGINE=MyISAM ;
数据库引擎也通过上面代码, 或者使用 HeidiSQL 去设置/更改.
在这个库里面创建一个存储过程(直接在 HeidiSQL 执行下面代码的查询):
DELIMITER $$ CREATE PROCEDURE create_data(IN total INTEGER, IN tb_name VARCHAR(64)) BEGIN DECLARE str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; DECLARE this_str VARCHAR(64) DEFAULT ''; DECLARE i int; set i=1; while i<=total DO SET this_str = substring(str, FLOOR(1 + RAND()*62)); set @stmt = CONCAT('INSERT INTO ',tb_name,' (NAME) VALUES("',this_str,'");'); PREPARE stmt_str FROM @stmt; EXECUTE stmt_str; DEALLOCATE PREPARE stmt_str; SET i = i + 1; end while; END$$ DELIMITER ;
运行查询后, 在数据库就会有这个创建数据的存储过程:
进入到这个存储过程, 点击运行过程:
在弹出的 参数"total" 输入想要生成的数据记录数量, 参数 "tb_name" 输入 test (本文最开始创建的数据库) 或其他数据表.
博主尝试了创建 50 万条数据记录, 但是速度太慢了没耐心等结果. 所以本文仅仅测试生成了 5 万条记录.
5 万条记录的耗时是 5 分钟左右.
感觉速度比博主之前写的这篇文章的方法还慢: 使用 Laravel 填充一百万假数据
本文地址 : bubaijun.com/page.php?id=195
版权声明 : 未经允许禁止转载!
上一篇文章: PHPer常用的辅助开发工具
下一篇文章: PHP实现虚位密码防偷窥