在华为的时候,还短暂接触和写过shell,调用oracle,后来转入java之后,比较少接触shell,一转眼回过头又要摸shell,去处理mysql,留一点笔记,以备后用。
#!/bin/sh
#test.sh
HOSTNAME="192.168.11.246" #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD="password"
DBNAME="dw_wbt"
TABLENAME="wbt_order_output_detail_copy"
echo "Begin execute pro_test_copy"
#更新数据
#updatesql="update ${TABLENAME} set qty=123"
updatesql="CALL pro_test_copy()"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${updatesql}"
echo "End execute pro_test_copy"
这里面的updatesql可以采用任何方式,可以DML,DDL等操作,也包括function和producre,不建议在shell中传入参数,实在不行可以使用编译语言,然后shell调用java的main脚本,不过需要小心配置GC,在简单调用SQL过程中,发现mysql的命令每次需要执行-e的属性操作,不知道代表啥意思,也不是很在意这些,已经解决了,发个帖,下次用到时候,能够直接拿来主义。
分享到:
-08-22 16:32
浏览 3343
分类:数据库
评论