每天一個shell腳本(6)mysql增查腳本 if版

準備工作,創建一個abc的數據庫,並創建一個表結構如下的info表
MariaDB [abc]> desc info;
±------±---------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------±---------±-----±----±--------±------+
| name | char(20) | YES | | NULL | |
| sex | char(4) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| zw | char(10) | YES | | NULL | |
±------±---------±-----±----±--------±------+
4 rows in set (0.00 sec)

此腳本有待改進,可以將數據庫以及表都定義爲用戶交互(read)的類型,這樣可以大大提升用戶使用此腳本的方便性,並且可以使此腳本更加具有可用性

#!/bin/bash
while true
do
        echo
        echo
        echo "            A   添加數據 "
        echo "            B   查詢數據 "
        echo "            Q   退出程序 "
        read -p "請輸入操作序號:" num
        echo
        echo

        if [ -z $num ]
        then
                echo "您輸入的序號爲空,請重新輸入"
        else
                while true
                do
                        if [ $num = "A" ]
                        then
                                while true
                                do
                                        read -p "輸入name字段的值:" name1
                                        read -p "輸入sex字段的值:" sex1
                                        read -p "輸入age字段的值:" age1
                                        read -p "輸入zw字段的值:" zw1
                                        if [ -z $name1 ] || [ -z $sex1 ] || [ -z $age1 ] || [ -z $zx1 ]
                                        then
                                                echo "您輸入的字段中有空值,請重新輸入!"
                                        else
                                                mysql -u root -p123.com -e "insert into abc.info values ('$name1','$sex1',$age1,'$zw1')"
                                                break
                                        fi
                                done
                                break
                        elif [ $num = "B" ]
                        then
                                while true
                                do
                                        read -p "請輸入查詢關鍵字:" name1
                                        if [ -z $name1 ]
                                        then
                                                echo "輸入的關鍵字爲空,請重新輸入關鍵字!"
                                        else
                                                mysql -u root -p123.com -e 'select name from abc.info' | grep "^$name1"
                                                if [ $? = "0" ]
                                                then
                                                        mysql -u root -p123.com -e "select * from abc.info where name='$name1'"
                                                        break
                                                else
                                                        echo "該關鍵字查詢結果爲空,請重新輸入!"
                                                        echo "可以提供以下選擇"
                                                        mysql -u root -p123.com -e 'select name from abc.info'
                                                fi
                                        fi
                                done
                                break
                        elif [ $num = "Q" ]
                        then
                                exit 0
                        else
                                echo "您輸入的值未在選擇範圍中,請重新輸入"
                                break
                        fi
                done
        fi
done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章