由于经常操作数据库,遇到频繁建表、加字段、索引、修改数据等问题,大多是操作多个数据库,sql文件或语句不固定,最后选择shell脚本来执行
eg:
1.多库建相同的表
#/bin/bash
host='127.0.0.1'
dbUser='root'
dbPassword=''
sql_file='test.sql'
city_array=('bj' 'sh' 'tj')
type="test"
for city in ${city_array[@]};
do
dbName=${type}'_'${city}
echo $dbName
#多库建表
mysql -h $host -u $dbUser -p$dbPassword -f $dbName -e "source $sql_file";
done
2.多库同表新建字段
#/bin/bash
host='127.0.0.1'
dbUser='root'
dbPassword=''
city_array=('bj' 'sh' 'tj')
type="test"
for city in ${city_array[@]};
do
dbName=${type}'_'${city}
echo $dbName
#多库增加字段
mysql -h $host -u $dbUser -p$dbPassword -e "
use $dbName;
ALTER TABLE test_table1 ADD refresh_time int(11) DEFAULT '0' COMMENT '刷新时间';
notee
quit";
done
3.多库同表同字段修改内容
#/bin/bash
host='127.0.0.1'
dbUser='root'
dbPassword=''
city_array=('bj' 'sh' 'tj')
type="test"
for city in ${city_array[@]};
do
dbName=${type}'_'${city}
echo $dbName
#多库修改字段值
mysql -h $host -u $dbUser -p$dbPassword -e "
use $dbName;
update test_table1 set contents=REPLACE(contents,'////','//') where contents like '//%';
notee
quit";
done