Java 用值填充MySQL数据库
我在笔记本电脑上安装了一个本地MySQL服务器,我想使用其中的信息进行单元测试,所以我想创建一个脚本来自动生成所有数据。我正在使用MySQL Workbench,它已经(从模型)生成了表。是否可以使用它或其他工具创建一个自动脚本来填充数据Java 用值填充MySQL数据库,java,sql,mysql,unit-testing,mysql-workbench,Java,Sql,Mysql,Unit Testing,Mysql Workbench,我在笔记本电脑上安装了一个本地MySQL服务器,我想使用其中的信息进行单元测试,所以我想创建一个脚本来自动生成所有数据。我正在使用MySQL Workbench,它已经(从模型)生成了表。是否可以使用它或其他工具创建一个自动脚本来填充数据 编辑:我现在明白了,我不清楚。我确实为单元测试提供了有意义的数据。当我说“自动生成所有数据”时,我的意思是该工具应该获取我今天在本地数据库中拥有的有意义的数据,并创建一个脚本以在其他开发人员的数据库中生成相同的数据。您可以使用默认值填充(如果已定义) 最有用的
编辑:我现在明白了,我不清楚。我确实为单元测试提供了有意义的数据。当我说“自动生成所有数据”时,我的意思是该工具应该获取我今天在本地数据库中拥有的有意义的数据,并创建一个脚本以在其他开发人员的数据库中生成相同的数据。您可以使用默认值填充(如果已定义)
最有用的单元测试是那些反映您期望或在实践中看到的数据的单元测试。用随机位填充模式不能替代精心编制的测试数据。因为@ McWAFListx建议MySQL LoIP是一个有用的工具,但是如果你想要更简单的东西,考虑使用它,它从CSV中填充一个表。p> 还有一些事情需要考虑:
我相信您希望使用
mysqldump
实用程序将数据(和/或架构)转储到脚本文件中。>如果你想生成虚拟内容,我认为emsdatageneratormysql是最好的工具。
CREATE TABLE #t(c1 int DEFAULT 0,c2 varchar(10) DEFAULT '-')
GO
--This insert 50 rows in table
INSERT INTO #t( c1, c2 )
DEFAULT VALUES
GO 50
SELECT * FROM #t
DROP TABLE #t