Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1648587
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-26 18:02
个人简介

祸兮福之所倚,福兮祸之所伏

文章分类

全部博文(63)

文章存档

2020年(11)

2019年(10)

2017年(10)

2016年(25)

2015年(7)

我的朋友

分类: Mysql/postgreSQL

2016-02-17 12:05:03

        有些时候对于mysql需要进行一些测试,或者项目上线前的测试,这时候就需要使用一些模拟数据。分享下自己使用的方法,本次先分享下使用shell做批量的插入,但是shell的效率确实不高,我曾经使用php做批量插入,效率比起shell要高出许多,不过php连接类型有多种。
        既然是模拟数据,而且数据可能用来做查询,那数据就必须是接近真实性,需要随机性。随机性我用数组来做,先定义一个数组,里面输入一系列数据,作为字段的随机值,再直接调用mysql客户端做循环就ok了。奉上代码
  

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #insert into mysql
  3. MYSQL="/usr/local/mysql/bin/mysql"
  4. USER="root"
  5. PASSWORD="root"
  6. SOCKET="/data/sock/mysql.sock"
  7. PROVICE=("江苏省" "浙江省" "河北省" "山东省" "四川省" "广东省")
  8. for ((i=20000;i<30000;i++))
  9. do
  10. AREA="${PROVICE[$(($RANDOM%6))]}"
  11. $MYSQL -u$USER -p$PASSWORD -e "use wna;insert into area (id,area_name,up,level) value ('$i','$AREA','22','2')" &>/dev/null
  12. done
       我使用了一个简单的表,结构是id,area_name,up,level   其中area_name候选项为数组中留个省,当然大家都是可以做一些其他数据类型的。
阅读(2018) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~