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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://dba10g.blog.51cto.com/764602/1610703


操作界面


wKiom1TPEynz5sHJAAJnQpUCZlg554.jpg


这个小系统一共包含4个脚本

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

menu.sh 勾画菜单

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

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


menu.sh 

画字符菜单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
function  print_main_menu(){
cat  <<EOF
#######################################
#    1)创建数据库                  #
#    2)导入电商端数据              #
#    3)创建电商端数据库并导入数据  #
#    4)验证电商端数据数据有效性    #
#    5)删除数据库                  #
#    6)打印菜单                    #
#    7)退出                        #
#######################################
EOF
}


function.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/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"


本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/1610703

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
248
分享
相关文章
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
98 11
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
143 26
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
84 12
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
77 17
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
90 19
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
104 17
基于ssm的网络直播带货管理系统,附源码+数据库+论文
该项目为网络直播带货网站,包含管理员和用户两个角色。管理员可进行主页、个人中心、用户管理、商品分类与信息管理、系统及订单管理;用户可浏览主页、管理个人中心、收藏和订单。系统基于Java开发,采用B/S架构,前端使用Vue、JSP等技术,后端为SSM框架,数据库为MySQL。项目运行环境为Windows,支持JDK8、Tomcat8.5。提供演示视频和详细文档截图。
61 10
基于ssm的台球厅管理系统,附源码+数据库+论文
本项目为新锐台球厅管理系统,支持管理员和会员两种角色。管理员可进行会员管理、台球桌管理、订单管理等;会员可查看台球桌、预约、购买商品等。技术框架基于Java,采用B/S架构,前端使用Vue+HTML+JavaScript+CSS+LayUI,后端使用SSM框架,数据库为MySQL。运行环境为Windows,JDK8+MySQL5.7+Tomcat8.5。提供演示视频及详细文档截图。
|
2月前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
141 32