Inhaltsverzeichnis
Automatisches Löschen von Zeilen, die älter als 7 Tage sind, in MySQL
Einführung
Erstellen einer gespeicherten Prozedur zum Löschen alter Daten
Hilfsfunktion zum Löschen
Planen der gespeicherten Prozedur
Schlussfolgerung
Heim Datenbank MySQL-Tutorial Wie lösche ich in MySQL automatisch Zeilen, die älter als 7 Tage sind?

Wie lösche ich in MySQL automatisch Zeilen, die älter als 7 Tage sind?

Dec 07, 2024 am 12:42 AM

How to Automatically Delete Rows Older Than 7 Days in MySQL?

Automatisches Löschen von Zeilen, die älter als 7 Tage sind, in MySQL

Einführung

Datenbanken sammeln im Laufe der Zeit oft veraltete Daten an, was zu überfüllten Tabellen und Leistungsproblemen führt. Um solche Daten effizient zu verwalten, bietet MySQL die Möglichkeit, gespeicherte Prozeduren zu erstellen, die Bereinigungsaufgaben automatisieren.

Erstellen einer gespeicherten Prozedur zum Löschen alter Daten

Die folgende gespeicherte Prozedur löscht automatisch Zeilen, die älter als 7 sind Tage aus allen Tabellen in einer Datenbank:

DELIMITER $$

CREATE PROCEDURE delete_old_data()
BEGIN
  DECLARE tb_name VARCHAR(255);
  DECLARE max_date DATE;
  
  SET max_date = DATE_SUB(NOW(), INTERVAL 7 DAY);
  
  SET tb_name = (
    SELECT GROUP_CONCAT(TABLE_NAME)
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = DATABASE()
  );
  
  CALL execute_delete_query(tb_name, max_date);
END $$

DELIMITER ;
Nach dem Login kopieren

Diese gespeicherte Prozedur initialisiert Variablen, um den Datenbanknamen, das maximale Löschdatum und a zu speichern Durch Kommas getrennte Liste von Tabellennamen. Anschließend wird eine Hilfsfunktion (execute_delete_query) aufgerufen, um den eigentlichen Löschvorgang durchzuführen.

Hilfsfunktion zum Löschen

CREATE FUNCTION execute_delete_query(tb_names VARCHAR(255), max_date DATE)
RETURNS INTEGER
BEGIN
  DECLARE tb_array [] VARCHAR(255);
  SET tb_array = SPLIT_STR(tb_names, ',');
  
  DECLARE i INT DEFAULT 1;
  DECLARE total_deleted INT DEFAULT 0;
  
  WHILE i <= SIZE(tb_array) DO
    SET @sql = CONCAT('DELETE FROM ', tb_array[i], ' WHERE update_timestamp < ''', max_date, ''');
    
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    SET total_deleted = total_deleted + ROW_COUNT();
    DEALLOCATE PREPARE stmt;
    
    SET i = i + 1;
  END WHILE;
  
  RETURN total_deleted;
END
Nach dem Login kopieren

Die Hilfsfunktionexecute_delete_query benötigt zwei Parameter: eine Liste von Tabellennamen und einen Maximalwert Löschdatum. Es durchläuft die Tabellennamen, erstellt für jede eine Löschabfrage und führt sie mithilfe einer vorbereiteten Anweisung aus. Die Gesamtzahl der gelöschten Zeilen wird zurückgegeben.

Planen der gespeicherten Prozedur

Um die gespeicherte Prozedur so zu planen, dass sie jeden Tag um 00:00 Uhr automatisch ausgeführt wird, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein Ereignis mit dem folgenden SQL Anweisung:

    CREATE EVENT delete_old_data_event
    ON SCHEDULE AT '00:00' EVERY 1 DAY
    DO
    CALL delete_old_data();
    Nach dem Login kopieren
  2. Aktivieren Sie den Ereignisplaner, indem Sie die Systemvariable event_scheduler auf ON setzen:

    SET GLOBAL event_scheduler = ON;
    Nach dem Login kopieren
  3. Überprüfen Sie, ob das Ereignis geplant ist, indem Sie es ausführen SHOW EVENTS-Anweisung.

Schlussfolgerung

Diese Methode verwendet Mithilfe der gespeicherten Prozeduren, der Ereignisplanung und der Hilfsfunktionen von MySQL entsteht eine umfassende und automatisierte Lösung zum Löschen veralteter Daten aus einer Datenbank. Durch das regelmäßige Entfernen alter Datensätze können Sie die Effizienz und Leistung Ihrer Datenbank aufrechterhalten und gleichzeitig die Datenkonformität sicherstellen.

Das obige ist der detaillierte Inhalt vonWie lösche ich in MySQL automatisch Zeilen, die älter als 7 Tage sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1677
14
PHP-Tutorial
1280
29
C#-Tutorial
1257
24
MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

MySQL gegen andere Programmiersprachen: Ein Vergleich MySQL gegen andere Programmiersprachen: Ein Vergleich Apr 19, 2025 am 12:22 AM

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

MySQL für Anfänger: Erste Schritte mit der Datenbankverwaltung MySQL für Anfänger: Erste Schritte mit der Datenbankverwaltung Apr 18, 2025 am 12:10 AM

Zu den grundlegenden Operationen von MySQL gehört das Erstellen von Datenbanken, Tabellen und die Verwendung von SQL zur Durchführung von CRUD -Operationen für Daten. 1. Erstellen Sie eine Datenbank: createdatabasemy_first_db; 2. Erstellen Sie eine Tabelle: CreateTableBooks (IDINGAUTO_INCRECTIONPRIMARYKEY, Titelvarchar (100) Notnull, AuthorVarchar (100) Notnull, veröffentlicht_yearint); 3.. Daten einfügen: InsertIntoBooks (Titel, Autor, veröffentlicht_year) va

Erläutern Sie den InnoDB -Pufferpool und seine Bedeutung für die Leistung. Erläutern Sie den InnoDB -Pufferpool und seine Bedeutung für die Leistung. Apr 19, 2025 am 12:24 AM

InnoDbbufferpool reduziert die Scheiben -E/A durch Zwischenspeicherung von Daten und Indizieren von Seiten und Verbesserung der Datenbankleistung. Das Arbeitsprinzip umfasst: 1. Daten lesen: Daten von Bufferpool lesen; 2. Daten schreiben: Schreiben Sie nach der Änderung der Daten an Bufferpool und aktualisieren Sie sie regelmäßig auf Festplatte. 3. Cache -Management: Verwenden Sie den LRU -Algorithmus, um Cache -Seiten zu verwalten. 4. Lesemechanismus: Last benachbarte Datenseiten im Voraus. Durch die Größe des Bufferpool und die Verwendung mehrerer Instanzen kann die Datenbankleistung optimiert werden.

MySQL: Strukturierte Daten und relationale Datenbanken MySQL: Strukturierte Daten und relationale Datenbanken Apr 18, 2025 am 12:22 AM

MySQL verwaltet strukturierte Daten effizient durch Tabellenstruktur und SQL-Abfrage und implementiert Inter-Tisch-Beziehungen durch Fremdschlüssel. 1. Definieren Sie beim Erstellen einer Tabelle das Datenformat und das Typ. 2. Verwenden Sie fremde Schlüssel, um Beziehungen zwischen Tabellen aufzubauen. 3.. Verbessern Sie die Leistung durch Indexierung und Abfrageoptimierung. 4. regelmäßig Sicherung und Überwachung von Datenbanken, um die Datensicherheit und die Leistungsoptimierung der Daten zu gewährleisten.

Lernen von MySQL: Eine Schritt-für-Schritt-Anleitung für neue Benutzer Lernen von MySQL: Eine Schritt-für-Schritt-Anleitung für neue Benutzer Apr 19, 2025 am 12:19 AM

MySQL ist es wert, gelernt zu werden, da es sich um ein leistungsstarkes Open -Source -Datenbankverwaltungssystem handelt, das für Datenspeicher, Verwaltung und Analyse geeignet ist. 1) MySQL ist eine relationale Datenbank, die SQL zum Betrieb von Daten verwendet und für die strukturierte Datenverwaltung geeignet ist. 2) Die SQL -Sprache ist der Schlüssel zur Interaktion mit MySQL und unterstützt CRUD -Operationen. 3) Das Arbeitsprinzip von MySQL umfasst Client/Server -Architektur, Speicher -Engine und Abfrageoptimierer. 4) Die grundlegende Nutzung umfasst das Erstellen von Datenbanken und Tabellen, und die erweiterte Verwendung umfasst das Verbinden von Tabellen mit dem Join. 5) Zu den häufigen Fehlern gehören Syntaxfehler und Erlaubnisprobleme, und die Debugging -Fähigkeiten umfassen die Überprüfung der Syntax und die Verwendung von Erklärungskenntnissen. 6) Die Leistungsoptimierung umfasst die Verwendung von Indizes, die Optimierung von SQL -Anweisungen und die regelmäßige Wartung von Datenbanken.

MySQL: Ein anfängerfreundlicher Ansatz zur Datenspeicherung MySQL: Ein anfängerfreundlicher Ansatz zur Datenspeicherung Apr 17, 2025 am 12:21 AM

MySQL ist für Anfänger geeignet, da es einfach zu bedienen und leistungsfähig ist. 1.Mysql ist eine relationale Datenbank und verwendet SQL für CRUD -Operationen. 2. Es ist einfach zu installieren und erfordert, dass das Stammbenutzerkennwort konfiguriert wird. 3.. Verwenden Sie Einfügen, Aktualisieren, Löschen und Wählen Sie, um Datenvorgänge auszuführen. 4. OrderBy, wo und Join kann für komplexe Abfragen verwendet werden. 5. Debugging erfordert die Überprüfung der Syntax und verwenden Sie Erklärungen zur Analyse der Abfrage. 6. Die Optimierungsvorschläge umfassen die Verwendung von Indizes, die Auswahl des richtigen Datentyps und der guten Programmiergewohnheiten.

MySQL: Wesentliche Fähigkeiten für Anfänger zu meistern MySQL: Wesentliche Fähigkeiten für Anfänger zu meistern Apr 18, 2025 am 12:24 AM

MySQL ist für Anfänger geeignet, um Datenbankfähigkeiten zu erlernen. 1. Installieren Sie MySQL Server- und Client -Tools. 2. Verstehen Sie grundlegende SQL -Abfragen, wie z. B. SELECT. 3.. Stammdatenoperationen: Daten erstellen, Daten einfügen, aktualisieren und löschen. 4. Lernen Sie fortgeschrittene Fähigkeiten: Unterabfragen und Fensterfunktionen. 5. Debugging und Optimierung: Überprüfen Sie die Syntax, verwenden Sie Indizes, vermeiden Sie die Auswahl*und verwenden Sie die Grenze.

See all articles