MySQL batch update, delete data shell script

#!/bin/bash
. ~/.bash_profile
log=/tmp/update_log_1_$(date +%F).log
vstart=1
step=100
vstop=$((${vstart}+${step}))
max=50000
USER='yoon'
PWD='yoon123!@#'
HOST=127.0.0.1
DB=yoon
PORT=3306
TB=employees_ptarc
echo "stop value is $vstop"
while [ ${vstart} -lt $((${max}+1)) ]
do
echo "`date +%F-%T`; /usr/local/mysql/bin/mysql -h${HOST} -u${USER} -p${PWD} -P${PORT} ${DB} -e\"UPDATE ${TB} set v_int=9 where id between ${vstart} and ${vstop}\"" >> ${log}
/usr/local/mysql/bin/mysql -h${HOST} -u${USER} -p${PWD} -P${PORT} ${DB} -e"UPDATE ${TB} set v_int=9 where id between ${vstart} and ${vstop} "
vstart = $ (($ {enter} +1))
vstop=$((${vstop}+${step}))
if [ ${vstop} -gt ${max} ]; then
vstop=${max}
fi
sleep 1
#echo "start at ${vstart}, stop at ${vstop}"
done

Guess you like

Origin www.cnblogs.com/hankyoon/p/12104245.html