有些时候对于mysql需要进行一些测试,或者项目上线前的测试,这时候就需要使用一些模拟数据。分享下自己使用的方法,本次先分享下使用shell做批量的插入,但是shell的效率确实不高,我曾经使用php做批量插入,效率比起shell要高出许多,不过php连接类型有多种。
既然是模拟数据,而且数据可能用来做查询,那数据就必须是接近真实性,需要随机性。随机性我用数组来做,先定义一个数组,里面输入一系列数据,作为字段的随机值,再直接调用mysql客户端做循环就ok了。奉上代码
-
#!/bin/bash
-
#insert into mysql
-
mysql="/usr/local/mysql/bin/mysql"
-
user="root"
-
password="root"
-
socket="/data/sock/mysql.sock"
-
provice=("江苏省" "浙江省" "河北省" "山东省" "四川省" "广东省")
-
for ((i=20000;i<30000;i ))
-
do
-
area="${provice[$(($random%6))]}"
-
$mysql -u$user -p$password -e "use wna;insert into area (id,area_name,up,level) value ('$i','$area','22','2')" &>/dev/null
-
done
我使用了一个简单的表,结构是id,area_name,up,level 其中area_name候选项为数组中留个省,当然大家都是可以做一些其他数据类型的。
阅读(1975) | 评论(0) | 转发(0) |