shell 操作mysql 有一个数据库,里面的表有如下形式:table_a;table_b_20090403;table_b_20090629;请问如何写shell脚本来删除带日期后缀,且是半个月以前的表?谢谢!!!!急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么版本?如果是5以上,可以直接从系统表中取得所有表名,再用SP打开游标,动态生成SQL语句,(DROP TABLE),再运行 版本是:mysql Ver 14.7 Distrib 4.1.7汗,我对shell和mysql都不是很熟悉,老板要我写的。。 #!/bin/shvDB_NAME=""vDEL_DATE=`date -d "15 day ago" +"%Y%m%d"`mysql -uroot -Ne "show tables" ${vDB_NAME} >table.tmp.txtwhile read vTABLEdo vTABLE_DATE=${vTABLE#[a-z]*_} if [ $vTABLE_DATE -lt vDEL_DATE ];then mysql -uroot -vvve "drop table ${vTABLE}" ${vDB_NAME} fidone < table.tmp.txtrm -f table.tmp.txt 这些表用的什么数据引擎?如果是MyISAM, 则非常简单,直接用shell 删除所有的 文件即可。这个脚本比较容易。如果是innodb, 稍微麻烦一点,应该你办法用存储过程实现,因为没有infomation schema,但同样只要通过SHELL脚本即可,比如楼上的。你的操作系统是什么?当您的问题得到解答后请及时结贴.http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html linux 操作系统。多谢楼上各位,特别是4楼的兄弟,我晚上试试。谢谢 用C语言操作数据库(mysql) 在线词典数据库结构如何设计,请有经验的大侠们指点。 分类统计 mysql 唯一索引和普通索引 BUG SQL中对逗号分隔符字符串的查询问题 查找最后一个字节符合某条件的sql语句 有没有办法从视图中创建表? MSYQL的版本问题,请高人来解答一下 表的更新的一个问题 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresp 关于MYSQL的一个新手问题 如何最快的去掉重复的记录
vDB_NAME=""
vDEL_DATE=`date -d "15 day ago" +"%Y%m%d"`
mysql -uroot -Ne "show tables" ${vDB_NAME} >table.tmp.txtwhile read vTABLE
do
vTABLE_DATE=${vTABLE#[a-z]*_}
if [ $vTABLE_DATE -lt vDEL_DATE ];then
mysql -uroot -vvve "drop table ${vTABLE}" ${vDB_NAME}
fi
done < table.tmp.txt
rm -f table.tmp.txt
如果是MyISAM, 则非常简单,直接用shell 删除所有的 文件即可。这个脚本比较容易。如果是innodb, 稍微麻烦一点,应该你办法用存储过程实现,因为没有infomation schema,但同样只要通过SHELL脚本即可,比如楼上的。你的操作系统是什么?当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html