<linux shell 攻略> 庖丁解牛 mysql資料庫指令碼管理系統

來源:互聯網
上載者:User

標籤:shell   mysql   


操作介面


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/59/4C/wKiom1TPEynz5sHJAAJnQpUCZlg554.jpg" title="1.png" alt="wKiom1TPEynz5sHJAAJnQpUCZlg554.jpg" />


這個小系統一共包含4個指令碼

sh
功能
備忘
oneKey.sh 主程式,調用其他程式,對外提供功能

menu.sh 勾畫菜單

function.sh 提供操作資料庫介面

valid.sh 操作mysql資料庫,驗證資料


menu.sh

畫字元菜單

#!/bin/bashfunction print_main_menu(){cat <<EOF########################################    1)建立資料庫                  ##    2)匯入電商端資料              ##    3)建立電商端資料庫並匯入資料  ##    4)驗證電商端資料資料有效性    ##    5)刪除資料庫                  ##    6)列印菜單                    ##    7)退出                        ########################################EOF}


function.sh

#!/bin/bash##版本:v1.0#用途:建立mysql 資料庫和資料庫表#建立資料庫 4個必須參數(user,password,database_name,charset)function create_database_01(){    USER="$1"    PASSWORD="$2"    IP="$3"    DATEBASE_NAME="$4"    DATABASE_CHARSET="utf8"    mysql -h $IP -u $USER -p$PASSWORD <<EOF 2>/dev/null    create database $DATEBASE_NAME charset=$DATABASE_CHARSET;EOF    if [[ $? -eq 0 ]]; then            echo "資料庫"$DATEBASE_NAME"建立成功"        else            echo "資料庫"$DATEBASE_NAME"建立失敗"            exit 1;    fi}#掃描地區目錄中資料庫檔案夾,按順序執行function init_database_02(){    USER="$1"    PASSWORD="$2"    IP="$3"    DATEBASE_NAME="$4"    AREACODE="$5"    while read line;     do        mysql -h $IP -u $USER -p$PASSWORD $DATEBASE_NAME <$line 2>/dev/null    done < <(ls ./$AREACODE/*.sql -rt)    if [[ $? -eq 0 ]]; then            echo "往"$DATEBASE_NAME"匯入資料成功"        else            echo "往"$DATEBASE_NAME"匯入資料失敗"            exit 1;    fi}#刪除資料庫function drop_database_02(){    USER="$1"    PASSWORD="$2"    IP="$3"    DATEBASE_NAME="$4"    mysql -h $IP -u $USER -p$PASSWORD <<EOF 2>/dev/null    drop database $DATEBASE_NAME;EOF    if [[ $? -eq 0 ]]; then            echo "資料庫"$DATEBASE_NAME"刪除成功"        else            echo "資料庫"$DATEBASE_NAME"刪除失敗"            exit 1;    fi}#讀取參數function readstdin(){            read -p "please input ip[localhost]:" ip            if [[ -z "$ip" ]]; then                ip="localhost"            fi            read -p "please input db login user[root]:" username            if [[ -z "$username" ]]; then                username="root"            fi            read -p "please input db login password:" password            read -p "please input db name:" dbname    }


valida.sh

#!/bin/bashdbname="test_jd_dspt_wh"nsrsbh="420112568371402"mysql="mysql -h 192.168.15.9 -u root -p123456 $dbname"#$mysql "use $dbname"sql="select count(nsrsbh) into @v01 from dj_nsrxx where nsrsbh=$nsrsbh;select if(@v01<=0,‘納稅人識別號在dj_nsrxx表中沒有記錄‘,                  ‘驗證01[納稅人識別號在dj_nsrxx表中存在]驗證通過!!!‘);select dsptbm into @dsptbm  from dj_nsrxx where nsrsbh=$nsrsbh;select pt.dsptmc into @dsptmc from dj_dzswpt_kz kz ,dj_dzswpt pt where  kz.id =pt.id  and [email protected];select if(@dsptmc is not null,concat(‘驗證02通過納稅人電商平台資訊:‘,@dsptmc),‘驗證02[納稅人電商平台資訊為空白]驗證不通過!!!‘);select hy_dm into @vhy  from dj_nsrxx where [email protected];select kpzt into @vkpzt  from dj_nsrxx where [email protected];select nsrzt_dm into @vnsrzt from dj_nsrxx where [email protected];select if(@vhy!=5200,‘納稅人行業代碼不等於5200‘,‘驗證03[納稅人行業代碼等於5200]驗證通過!!!‘);select if(@vnsrzt!=21,‘納稅人狀態碼不等於21‘,‘驗證04[納稅人狀態碼等於21]驗證通過!!!‘);select if(@vkpzt!=1,‘納稅人開票狀態不等於1‘,‘驗證05[納稅人開票狀態等於1]驗證通過!!!‘);SELECT COUNT(1) into @nsrztcount FROM fp_nsrzt WHERE SWJG_DM = (SELECT SZ_SWJG_DM FROM dj_nsrxx WHERE NSRSBH = @vnsrsbh) AND NSRZT_DM = @vnsrzt;select if(@nsrztcount<=0,‘納稅人稅務機關[SZ_SWJG_DM]不存在或狀態與納稅人資訊不匹配‘,‘驗證06[納稅人所在稅務機關SZ_SWJG_DM有效]驗證通過!!!‘);select ‘上述所有驗證均通過,可保證訂單可以下發成功‘;select count(1) into @vjccount2 from fp_pz pz, fp_nsrjc jc where jc.NSRSBH=pz.NSRSBH and pz.FPZL_DM=jc.FPZL_DM and [email protected];select if(@vjccount2<=0,‘納稅人票種或結存為空白‘,‘驗證07[納稅人開票結存]驗證通過!!!‘);select count(1) into @dymbcount from dm_dymb mb where SWJG_DM=(select SZ_SWJG_DM from dj_nsrxx where [email protected]);select if(@dymbcount<4,‘所在稅務機關列印模板數目不足4個‘,‘驗證08[列印模板]驗證通過,不保證模板路徑有效!!!‘);select concat(‘____‘,PYFILEURL) as ‘列印模板如下‘ from dm_dymb mb where SWJG_DM=(select SZ_SWJG_DM from dj_nsrxx where [email protected]);select qzid into @vqzid from fp_qzcx where [email protected];select if(@vqzid is null,‘納稅人簽章資訊不存在‘,‘驗證09[簽章資訊]驗證通過!!!‘);";$mysql -N -L -s -e "$sql"


本文出自 “簡單” 部落格,請務必保留此出處http://dba10g.blog.51cto.com/764602/1610703

<linux shell 攻略> 庖丁解牛 mysql資料庫指令碼管理系統

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.