ITPUX技术网

交流 . 资讯 . 分享
Make progress together!
Linux操作系统下Oracle11g R2 RAC 安装配置教程
Oracle数据库培训-备份恢复-性能优化-集群容灾
Oracle数据库DBA高级工程师培训视频

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

内容发布:枫林晚亭| 发布时间:2018-5-22 14:08:41
昨天学习了如何用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,一个小测试,喜欢大家多多尝试一下


上一篇:centos下无线网络连接
回复

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表