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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值