博客列表 >linux环境shell脚本批量从MYSQL源表插入数据到目标表

linux环境shell脚本批量从MYSQL源表插入数据到目标表

Smile
Smile原创
2021年12月16日 23:48:16741浏览

  #!/bin/bash

  i=1

  HOSTNAME="x.x.x.x"

  PORT="3306"

  USERNAME="root"

  PASSWORD="111111"

  maxid=17301353

  minid=17301353

  while :

  do

  #echo "$i"

  sleep 0.5

  (( i++ ))

  maxid=`expr $minid`

  minid=`expr $minid - 10000`

  echo $minid,$maxid

  mysql -u $USERNAME -p$PASSWORD -h $HOSTNAME -P $PORT << EOF

  use db0825;

  insert into tab1111_bak

  select * from tab1111 where id>$minid and id<=$maxid;

  EOF

  if ((i==20))

  then

  break

  fi

  done

  说明:

  1)需从源表找到最大的ID,并赋maxid和minid参数为初始值;

  2)minid在每次循环时减10000,即每次循环10000条数据;

  3)循环次数i ,根据实际情况指定,本例子是20次循环退出,即本例子卖手游账号总共插入目标表19万条数据。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议