快速产生百万数据的测试数据库表

    xiaoxiao2022-07-06  201

    第一步

    建表不多说,直接上代码

    CREATE TABLE `NewTable` ( `id`  int(11) NOT NULL AUTO_INCREMENT , `name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `age`  int(11) NOT NULL , `phone`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `email`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `comment`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC ;

    第二步

    利用php快速插入2000条数据(太多的话会超时)

    <?php $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "test"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $i=1; while($i<2000){ $data=['小明'.$i.'',20,'email'.$i.'','phone'.$i.'','comment'.$i.'']; $sql = "INSERT INTO test (`name`,age,email,phone,comment) VALUES ('$data[0]',$data[1],'$data[2]','$data[3]','$data[4]')"; $conn->query($sql); $i++; } echo '成功';

    第三步

    打开数据库管理工具(我用的是navicat)

    进入命令列界面,切换到测试表所在的数据库。

    然后复制数据即可

    insert into test(name,age,email,phone,comment) select name,age,email,phone,comment from test;

    执行这条语句9次后即可获取百万的数据。

    2000+2000+4000+8000+.....=2000X=1000000;(大约为8.9次)

    如果想要获取不同的数据,那么修改表的字段值即可(以name字段为例,其他的相同)

    update  test  set  `name`=concat(`name`,id);(id不会相同)

    最新回复(0)