从文件中读取数据库密码,每次读取一行
//passwd.txt内容
host=localhost
user=root
passwd=123456
while read line
do
#是否是空行
if [ ! $line ]
then
continue
else
#是否是注释行
str=${line:0:1}
if [ $str == "#" ]
thencontinue
fi
fi
name=`echo $line | awk -F '=' '{print $1}'`
value=`echo $line | awk -F '=' '{print $2}'`
case $name in
"host")
host=$value ;;
"user")
user=$value ;;
"passwd")
passwd=$value ;;
*)
;;
esac
done
判断特定数据库是否存在
mysql -h $host -u $user -p$passwd --skip-column-names -e "show databases" | while read database
do
if [ $database == '要查找的数据库' ]
then
echo "find"
break
fi
done
创建数据库
mysql -h$host -u$user -p$passwd <
create database mydatabase DEFAULT CHARACTER SET utf8 ;
use mydatabase;
create table mytable(
id INT primary key,
name varchar(150),
class varchar(150)
) default charset=utf8;
EOF
数据库操作
mysql -h$host -u$user -p$passwd "数据库" -e "操作命令"
例:
mysql -h $host -u $user -p$passwd "mydatabase" -e "insert into mytable values('$id','$name','$class')"
mysql -h $host -u $user -p$passwd "mydatabase" -e "delete from mytable where id='$id'"
//读取每一条记录并输出
mysql -h $host -u $user -p$passwd "mydatabase" --skip-column-names -e "select id from mytable" | while read id
do
echo $id
done
//读取每一条记录到数组
array=(`mysql -h $host -u $user -p$passwd "mydatabase" --skip-column-names -e "select id from mytable"`)
//判断是否存在特定数据记录
myid=`mysql -h $host -u $user -p$passwd "mydatabase" --skip-column-names -e "select id from mytable where id='$id' `
if [ ! $myid ]
then echo "不存在"
else echo "存在"
fi