itsource

특정 날짜 이전의 레코드 삭제

mycopycode 2022. 9. 23. 00:15
반응형

특정 날짜 이전의 레코드 삭제

날짜 열이 DATETIME 형식인 특정 날짜 이전의 MySQL 테이블에서 모든 레코드를 삭제하려면 어떻게 해야 합니까?

예를 들어 datetime은 다음과 같습니다.2011-09-21 08:21:22.

DELETE FROM table WHERE date < '2011-09-21 08:21:22';

이를 통해 다른 속성에 기반한 데이터를 삭제할 수 있었습니다.이 작업은 위험하므로 데이터베이스 또는 테이블을 백업한 후 수행해야 합니다.

mysqldump -h hotsname -u username -p password database_name > backup_folder/backup_filename.txt

이제 삭제 작업을 수행할 수 있습니다.

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 1 DAY)

그러면 하루 전의 모든 데이터가 삭제됩니다.6개월 이전의 데이터를 삭제하는 경우:

delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 6 MONTH)

어제까지의 결과를 나타내다

WHERE DATE(date_time) < CURDATE()

10일 결과를 표시하려면

WHERE date_time < NOW() - INTERVAL 10 DAY

10일 전에 결과를 표시하려면

WHERE DATE(date_time) < DATE(NOW() - INTERVAL 10 DAY)

이것으로 충분합니다.

이런 날짜들을 찾을 수 있습니다.

SELECT DATE(NOW() - INTERVAL 11 DAY)

이것은 정의된 열/테이블 이름을 사용한 또 다른 예입니다.

DELETE FROM jos_jomres_gdpr_optins WHERE `date_time` < '2020-10-21 08:21:22';

Oracle SQL을 찾는 경우 다음과 같은 이점이 있습니다.

Delete from table_name WHERE column_name < sysdate - INTERVAL '10' DAY

그리고 sysdate가 재시도하는 형식을 확인합니다.

언급URL : https://stackoverflow.com/questions/8359457/deleting-records-before-a-certain-date

반응형