昨天学习了如何用shell对mysql数据表增删改查,做了一个小例子,望与大家共勉,不足之处请大家多多指教。
代码如下:
#!/bin/bash
#mysql2.sh
#n=''
mysql="mysql -uroot -pxz123456"
case $1 in
select)
sql="select * from test.$2"
;;
delete)
case $2 in
student )
n='sname'
;;
course)
n='cname'
;;
score )
n='sno'
;;
esac
sql="delete from test.$2 where $n='$3'"
;;
insert)
case $2 in
student )
n='sno,sname,sex,age,addr,class'
sql2="insert into test.$2($n) values('$3','$4','$5',$6,'$7','$8')"
;;
course)
n='cno,cname,teacher'
sql2="insert into test.$2($n) values('$3','$4','$5')"
;;
score)
n='sno,cno,grade'
sql2="insert into test.$2($n) values('$3','$4',$5)"
;;
esac
sql=$sql2
;;
update)
case $2 in
student )
if [ "$3" -eq 1 ];then
sql2="update test.$2 set sname='$4' where sno='$5'"
elif [ "$3" -eq 2 ];then
sql2="update test.$2 set sex='$4' where sno='$5'"
elif [ "$3" -eq 3 ];then
sql2="update test.$2 set age=$4 where sno='$5'"
elif [ "$3" -eq 4 ];then
sql2="update test.$2 set addr='$4' where sno='$5'"
else
sql2="update test.$2 set class='$4' where cno='$5'"
fi
;;
course)
if [ "$3" -eq 1 ];then
sql2="update test.$2 set cname='$4' where cno='$5'"
else
sql2="update test.$2 set teacher='$4' where cno='$5'"
fi
;;
score)
if [ "$3" -eq 1 ];then
sql2="update test.$2 set grade=$4 where sno='$5' and cno='$6' "
else
echo "the list is not exist!"
fi
;;
esac
sql=$sql2
;;
*)
sql="select * from test.$2"
;;
esac
$mysql -e "$sql"
然后可以这样执行操作,比如查询 ./mysql2.sh select course,比如更改:./mysql2.sh update score 1 80 jsj001,001,一个小测试,喜欢大家多多尝试一下
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞3
添加新评论0 条评论