Mysql指令碼 生成測試資料
阿新 • • 發佈:2021-12-14
使用:
./xie.sh -uroot -p'123456'
本文版權歸作者所有,歡迎轉載,請務必新增原文連結。#!/bin/bash #混合測試資料庫指令碼 #將建立一個single資料庫,其中建立一個s1表 #如果資料庫存在,將會寫入資料,可以在寫入部分sleep 1 來讓資料持續寫入 #使用方法 ./xx.sh -uroot -p'123456' #檢查 mysql $* -e "show databases;" &> /tmp/info_error.txt if [[ $? -ne 0 ]];then echo "time:$(date +%F-%H-%M-%S) info:登陸命令錯誤" cat /tmp/info_error.txt #如果錯誤則顯示錯誤資訊 echo echo "./xx.sh -uroot -p'123456'" exit 1 fi #檢查庫是否存在 mysql $* -e "use single;" &> /tmp/info_error.txt if [[ $? -eq 0 ]];then mysql $* -e "use single;select * from s1 where id=1;" if [[ $? -ne 0 ]];then mysql $* -e "use single;drop table s1;" mysql $* -e "use single;create table s1(id int AUTO_INCREMENT PRIMARY KEY,name char(20),age int);" fi else mysql $* -e "create database single;" mysql $* -e "use single;create table s1(id int AUTO_INCREMENT PRIMARY KEY,name char(20),age int);" fi #name隨機數 random_name() { local zu=(q w e r t y u i o p a s d f g h j k l z x c v b n m) for i in `seq 1 5` do local a=`echo $[RANDOM%24]` echo -n ${zu[a]} done } #age隨機數 random_age() { local a=`echo $[RANDOM%99]` echo $a } #寫入部分 for i in `seq 1 10000` do b=`random_name` c=`random_age` sleep 2 mysql $* -e "use single;insert into s1(name,age) values('${b}',${c});" done