找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21563|回复: 8

[问题求助] 用sh脚本定时删除数据库数据,和修改数据

[复制链接]
发表于 2019-10-17 09:43:30 | 显示全部楼层 |阅读模式
数据库名称
        lyy
数据库表名称
        lyy_test
数据库地址  127.0.0.1
数据库账户  testname
数据库密码  testpasswd

yun_test表内容
id   user   passwd    user_nicename      sex   addtime
1    lyy1    lyy         陆1                         1     1568044800
1    lyy2    lyy         陆2                         2     1568131200
1    lyy3    lyy         陆3                         1     1568217600
1    lyy4    lyy         陆4                         2     1568304000
1    lyy5    lyy         陆5                         2     1568390400
1    lyy6    lyy         陆6                         1     1568476800

1,对 yun_test 表  删除日期为 2019-10-14 前的所有数据(自然周 每次删除1W行 暂停30秒)
2,对 yun_test 表  删除字段sex为 2 并切时间早于 2019-10-17(一天) 前的所有数据
3,将 yun_test 表  user_nicename 陆6 更新  sex 的字段为2
发表于 2019-10-17 10:21:14 | 显示全部楼层
什么数据库,MySQL? Oracle?
你是不会写SQL语句?还是不知道怎么用sh连接数据库并执行SQL语句呢?参考:
https://mp.weixin.qq.com/s/QxbMDwWiuWJIBublB1Dp9A
 楼主| 发表于 2019-10-17 11:01:52 | 显示全部楼层
本帖最后由 pl05135513 于 2019-10-17 11:07 编辑
什么数据库,MySQL? Oracle?
你是不会写SQL语句?还是不知道怎么用sh连接数据库并执行SQL语句呢?参考:
Batcher 发表于 2019-10-17 10:21



    mysql数据库,Centos环境
发表于 2019-10-17 11:29:04 | 显示全部楼层
回复 3# pl05135513


先把需要执行的 SQL 语句放到 XXX.sql 里面,然后执行命令:
mysql -h服务器地址 -u用户 -p密码 < XXX.sql
 楼主| 发表于 2019-10-17 14:26:19 | 显示全部楼层
回复  pl05135513


先把需要执行的 SQL 语句放到 XXX.sql 里面,然后执行命令:
mysql -h服务器地址  ...
Batcher 发表于 2019-10-17 11:29



   主要是 这个 (自然周 每次删除1W行 暂停30秒) 怎么写
发表于 2019-10-17 19:13:06 | 显示全部楼层
回复 5# pl05135513


脚本放在 crontab 里面可以实现每周执行一次,例如:
0 0 * * 1 /tmp/test.sh

删除1W行可以在select语句中加个限定条件,mysql里面用的是 limit
SELECT * FROM tbl LIMIT 5;     # Retrieve first 5 rows
https://dev.mysql.com/doc/refman/5.6/en/select.html

暂停30秒的目的是什么呢?
 楼主| 发表于 2019-10-23 09:55:46 | 显示全部楼层
就是 比如 我执行了  SELECT * FROM tbl LIMIT 5000;   然后 间隔30秒 再次执行  一直到 上个自然周addtime查不出来为止
发表于 2019-10-23 10:15:26 | 显示全部楼层
回复 7# pl05135513


    暂停30秒的目的是什么呢?
 楼主| 发表于 2019-10-23 11:01:12 | 显示全部楼层
不让数据库卡死  数据量比较大  一次删除十万 我觉得 还坑得住 不然 扛不住
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:37 , Processed in 0.015887 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表