我是靠谱客的博主 甜美柜子,最近开发中收集的这篇文章主要介绍shell脚本调用mysql数据库-1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.获取当前日期或者昨天日期(限定日期格式)
 logdate=`date +%Y%m%d`
 date_1=`date -d "1 day ago" +%Y%m%d`

2.通过shell读取配置文件的数据库信息
 SEC_HOME=/app/shell/pub
 a.DBNAME=`$SEC_HOME/getEnv.sh DB.NAME` 
  从getEnv.sh文件中获取指定key的值
 b.RESULT=`sed -n "/$1/p" $DIR/res/*.properties | awk -F'=' '{print $2}'`
  sed(流编辑器):
  -n  不产生命令输出,使用print命令来完成输出
  "/$1/p"  显示含有$1的行数据
  awk -F'='  将找到的行数据以'='分隔,找到第2个值并print打印
  CNT=`echo $1 | grep PWD | wc -l`  统计调用当前sh文件第一个参数中PWD的个数
  $# 统计调用shell脚本时参数的个数
  $0 当前脚本的名字
  $1 调用shell脚本时第一个参数
  $2 调用shell脚本时第二个参数

3.使用shell中mysql命令导入文件到数据库
 mysqlImportFile="mysql --local-infile -h数据库ip -u数据库用户名 -p数据库密码  $数据库用户名 -e"
 后续可追加以下参数
 a.INTO TABLE tableName:将文件内数据插入指定表中
 b.REPLACE INTO TABLE tableName:REPLACE作用:有相同数据先删除再插入
 c.fields terminated by ',' :文件中以','分割来作为数据库列
 d.optionally enclosed by '"':插入时忽略文件中的"符号
 e.lines terminated by 'n':文件中以'n'换行分割作为数据库行
 f.(colName1,colName2,colName3):指定插入表的列名

4.读取数据库数据到指定文件student.csv
 mysqlDealState="mysql -s -N -u$DBUSER -p$DBPWD -h$DBIP -P$DBPORT $DBNAME  -e"
 TMPFILE=/output/student.csv(这里文件是临时文件可能不存在)
 `touch $TMPFILE`(创建文件)
 参数解读:
 -s:查询结果以逗号分隔数据库列,以换行分隔数据库行
 -N:查询结果中不包括列名
 `$mysqlDealState "select * from student" > $TMPFILE `

5.shell中执行mysql语句
 mysqlDealState="mysql -s -N -u$DBUSER -p$DBPWD -h$DBIP -P$DBPORT $DBNAME  -e"
 `$mysqlDealState "update student set age = 13 where id = 1 "`

6.在shell脚本中定义变量,=两边不能有空格

7.统计文件中关键字出现次数(这里是统计换行的总数)
 FILELINESCOUNT=`grep $'n' ${FILE} |wc -l`

8.echo的不同用法
  a.CNT=`echo $1 | grep PWD | wc -l`  统计调用当前sh文件第一个参数中PWD的个数 
  b.echo "...." 打印到控制台
  c.echo "" >> $FILE 打印内容到指定文件夹

9.ifelse流程控制语句(ifelse还可以嵌套使用)
   if [ 判断条件 ];then
  处理语句
   else
  处理语句
  exit 1
   fi

10.whiledo循环
while [ 判断条件 ]
do
 符合判断条件执行某些操作
 if [ 判断条件 ];then
  break //跳出while循环
  continue  //跳出本次循环,进入下一次循环

 else  
 fi
done

最后

以上就是甜美柜子为你收集整理的shell脚本调用mysql数据库-1的全部内容,希望文章能够帮你解决shell脚本调用mysql数据库-1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部