標籤: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資料庫指令碼管理系統