建表不多说,直接上代码
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不会相同)