+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Mehrere Datensätze löschen (MySQL)

  1. #1
    Neu an Board Avatar von kollege
    Registriert seit
    17.02.2007
    Beiträge
    72
    Bedankte sich
    9
    Erhielt 6 Danksagungen
    in 6 Beiträgen

    Standard Mehrere Datensätze löschen (MySQL)

    Hallo,

    in meiner Newsletter-Liste sind nun doch sehr viele Datensätze (eMail-Adressen) nicht mehr aktuell.
    Diese Adressen liegen mir als Excel-Tabelle vor.

    Gibt es eine Möglichkeit, diese "in einem Rutsch" aus der MySQL-Tabelle zu löschen?

    Vielen Dank !
    Georg
    Lebensmotto: Die Natur hat alle Zeit der Welt. Wir nicht.
    http://www.singles-kick.com
    http://www.wellmed.de
    http://www.wellnet-shop.de

  2. #2
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Hi,
    mit "normalem SQL", das du z.B. im phpMyAdmin ausführst.
    Kopier die Spalte mit den Adressen in eine Textdatei, sodass dort erstmal in jeder Zeile eine blanke Adresse steht
    schnubbi@beispiel.de
    foobar@example.com
    ..
    Dann änderst du jede Zeile so ab, dass sie zu einem DELETE Befehl wird:
    DELETE FROM jos_tabellenname WHERE email_spalte = "schnubbi@beispiel.de";
    DELETE FROM jos_tabellenname WHERE email_spalte = "foobar@example.com";
    ...

    Da ich nicht hellsehen kann um zu wissen welches Newsletter-Tool du verwendest, musst du im obigen Beispiel die Werte für 'jos_tabellenname' und 'email_spalte' natürlich an die örtlichen Gegebenheiten in deiner Datenbank anpassen.

    Den Inhalt der fertigen Datei kannst du (häppchenweise) in das "SQL-Feld" von phpMyAdmin reinkopieren und abschicken: weg sind die Datensätze.
    Am Besten "übst" du das vorher in einer (lokalen) Testinstallation.

    Viel Spaß,
    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board Avatar von kollege
    Registriert seit
    17.02.2007
    Beiträge
    72
    Bedankte sich
    9
    Erhielt 6 Danksagungen
    in 6 Beiträgen

    Standard Löschen mehrerer Datensätze in MySQL

    Zitat Zitat von CirTap Beitrag anzeigen
    Hi,
    mit "normalem SQL", das du z.B. im phpMyAdmin ausführst.
    Kopier die Spalte mit den Adressen in eine Textdatei, sodass dort erstmal in jeder Zeile eine blanke Adresse steht
    schnubbi@beispiel.de
    foobar@example.com
    ..
    Dann änderst du jede Zeile so ab, dass sie zu einem DELETE Befehl wird:
    DELETE FROM jos_tabellenname WHERE email_spalte = "schnubbi@beispiel.de";
    DELETE FROM jos_tabellenname WHERE email_spalte = "foobar@example.com";
    ...

    Da ich nicht hellsehen kann um zu wissen welches Newsletter-Tool du verwendest, musst du im obigen Beispiel die Werte für 'jos_tabellenname' und 'email_spalte' natürlich an die örtlichen Gegebenheiten in deiner Datenbank anpassen.

    Den Inhalt der fertigen Datei kannst du (häppchenweise) in das "SQL-Feld" von phpMyAdmin reinkopieren und abschicken: weg sind die Datensätze.
    Am Besten "übst" du das vorher in einer (lokalen) Testinstallation.

    Viel Spaß,
    CirTap
    Vielen Dank! Hat geklappt ... 1742 Datensätze sind gelöscht
    Ehrlich gesagt, den eigentlichen Befehl kannte ich ja, aber ich dachte, es geht so ähnlich wie beim "INSERT" ... und den Dreh hatte ich nicht raus.
    Aber du hast mich auf ne andere Idee gebracht, auf die ich eigentlich auch selber hätte kommen können.
    In die erste Spalte der Excel-Tabelle >DELETE FROM jos_tabellenname WHERE email_spalte = "< reinkopieren, zweite Spalte ist die mit den eMail-Adressen und in die Dritte Spalte dann >";< ... Das ganze dann durch die ganze Tabelle durchkopieren ...
    Export als Textfile ... das sah dann so aus:

    "DELETE FROM jos_tabellenname WHERE email_spalte = """ schnubbi@beispiel.de """;"

    Tja, dann einfach den überflüssigen Schnick-Schnack rauslöschen und das war's dann ...

    Vielen Dank, wie gesagt, denn mein Provider hat mir schon mit "Sperre" gedroht, weil ich so viele Rückläufer hatte (obwohl es im Verhältnis gar nicht sooooo viele waren) ...

    Gruß
    Georg
    Geändert von kollege (24.02.2010 um 13:34 Uhr)
    Lebensmotto: Die Natur hat alle Zeit der Welt. Wir nicht.
    http://www.singles-kick.com
    http://www.wellmed.de
    http://www.wellnet-shop.de

  5. #4
    Hat hier eine Zweitwohnung Avatar von CirTap
    Registriert seit
    12.12.2005
    Ort
    Karlsruhe
    Beiträge
    1.628
    Bedankte sich
    83
    Erhielt 539 Danksagungen
    in 438 Beiträgen

    Standard

    Hi,
    solange es funktioniert is ja auch Wurscht wie die Datei zustande kommt.
    ich mach das mit den Formeln mitunter auch so, aber ich wollt hier nicht Gefahr laufen, einen Excelkurs lostreten zu müssen -- man weiß ja nie... -- deshalb hab ich den etwas "umständlichen", aber dafür neutralen Weg beschrieben.

    CirTap
    Joomla FAQ | CSS-Probleme? Verstehen Entdecken Anwenden Meistern

    "I love deadlines. I like the whooshing sound they make as they fly by." (Douglas Adams)
    Man kann Software schnell, gut und günstig schreiben, sich aber nur 2 Dinge aussuchen.


+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein