用shell脚本修改mysql数据库表中某个字段的值

  • setFieldValue.sh

#!/bin/bash
#*************************************************
#
#*************************************************

#+-----------------------------+
#|         Default Define      |
#+-----------------------------+ 

USR=xxx
PWD=xxx

DB=xxx
TABLE=xxx
FIELD=xxx
VALUE=
ID=1

#+-----------------------------+
#|         可指定某个参数      |
#+-----------------------------+ 

while getopts ":u:p:d:t:f:v:i:" opt
do
    case $opt in
        u)USR=$OPTARG;;
        p)PWD=$OPTARG;;
        d)DB=$OPTARG;;
        t)TABLE=$OPTARG;;
        f)FIELD=$OPTARG;;
        v)VALUE=$OPTARG;;
        i)ID=$OPTARG;;
        ?)
        echo "未知参数"
        exit 1;;
    esac
done

echo "USR   =${USR}"
echo "PWD   =${PWD}"
echo "DB    =${DB}"
echo "TABLE =${TABLE}"
echo "FIELD =${FIELD}"
echo "VALUE =${VALUE}"
echo "ID    =${ID}"

MYSQL="mysql -h127.0.0.1 -u${USR} -p${PWD} --default-character-set=utf8 -A -N"

sql_update="update ${DB}.${TABLE} set ${FIELD} = '${VALUE}' where id = "

echo -e "+-----------------------------+"
echo -e "|    Update Field: ${FIELD}   |"
echo -e "+-----------------------------+"


echo   -e "$sql_update'${ID}'"
$MYSQL -e "$sql_update'${ID}'"
echo ""

可修改脚本的默认定义,也可在执行脚本的时候带参数指定。

猜你喜欢

转载自blog.csdn.net/zyjtx321/article/details/106554052