一些关于mysql的小脚本

对于sql语句,总有点不得劲的感觉,习惯性用 shell 去批量处理数据库的事情。

下面是工作中撰写的几个小脚本:


删除 某些databases  CHARBASE 表中 level 小于等于20 的数据

```

#!/bin/bash

a=(sanguo_50003 sanguo_50001 sanguo_50002 sanguo_40009 sanguo_50004 sanguo_30019 sanguo_20040 sanguo_20041 sanguo_10201 sanguo_10202 sanguo_10203 sanguo_10204);

for i in ${a[@]};

do

mysql -uxxx  -pxxxx  -hxxxx  $i <<EOF

DELETE FROM CHARBASE WHERE LEVEL <= 20;

EOF

done

```


删除 sanguo_xxxxx_log库中  带日期的表

```

#!/bin/bash

for i in {40001..40009};

do

database=sanguo_"$i"_log ;

tables=`mysql -uxxx  -pxxxx  -hxxxx  $database  -e "show tables ;" | grep 2018 ;`

echo "正在进行删除 $database 里的表";

for j in  ${tables[@]};

do

mysql -uxxxx  -pxxxx  -hxxxx  $database <<EOF

DROP table $j ;

EOF

done

done

```

批量备份databases

```

#!/bin/bash

a=( sanguo_50003 sanguo_50001 sanguo_50002 sanguo_40009 sanguo_50004 sanguo_30019 sanguo_20040 sanguo_20041 sanguo_10201 sanguo_10202 sanguo_10203 sanguo_10204 );

for i in ${a[@]};

do

echo -e "$i\n" ;

mysqldump -uxx  -pxxx -hxxxx  $i  >  $i.sql

done

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容