youyouwoxin888
作者youyouwoxin888·2018-05-22 14:01
IT顾问·深圳市深賽爾股份有限公司

学习笔记(shell操作mysql增删改查)

字数 2305阅读 1521评论 0赞 3

昨天学习了如何用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 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广