linux脚本设计数据库,<linux shell 攻略> 庖丁解牛 mysql数据库脚本管理系统

操作界面

dc0c03af63b7d6382a76cff8dd3bfaee.png

这个小系统一共包含4个脚本sh功能备注

oneKey.sh主程序,调用其他程序,对外提供功能

menu.sh勾画菜单

function.sh提供操作数据库接口

valid.sh操作mysql数据库,验证数据

menu.sh

画字符菜单#!/bin/bash

function print_main_menu(){

cat <

#######################################

#    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 </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 /dev/null

done 

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 </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/bash

dbname="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 kz.dsptbm=@dsptbm;

select if(@dsptmc is not null,concat('验证02通过纳税人电商平台信息:',@dsptmc),'验证02[纳税人电商平台信息为空]验证不通过!!!');

select hy_dm into @vhy  from dj_nsrxx where nsrsbh=@vnsrsbh;

select kpzt into @vkpzt  from dj_nsrxx where nsrsbh=@vnsrsbh;

select nsrzt_dm into @vnsrzt from dj_nsrxx where nsrsbh=@vnsrsbh;

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 pz.NSRSBH=@vnsrsbh;

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 nsrsbh=@vnsrsbh);

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 nsrsbh=@vnsrsbh);

select qzid into @vqzid from fp_qzcx where nsrsbh=@vnsrsbh;

select if(@vqzid is null,'纳税人签章信息不存在','验证09[签章信息]验证通过!!!');

";

$mysql -N -L -s -e "$sql"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值