Bestimmte Datensätze aus Datenbank löschen
dseiner
- php
Hi, Leute!
Brauch mal kurz eure Hilfe.
Ich möchte aus meiner Datenbank, die Einträge löschen, die in der Tabelle "Email" keine @-zeichen enthalten.
Das heißt: delete in email alle einträge ohne @-zeichen!
wie formuliere ich das jetzt in ein sql-befehl?
dseiner
Hello,
wie formuliere ich das jetzt in ein sql-befehl?
Am besten richtig :-)
Möchtest Du universelles Standard-SQL?
Oder hast Du auch ein reales DBMS im Einsatz?
Dann wäre es doch klasse, wenn Du uns den Namen des DBMS verraten würdest.
Und dann könntest Du in der zugehörigen Doku auch nachschlagen und wir Dir dabei helfen:
Und nimm bitte das nächste Mal die Kategorie "Datenbank", wenn Du eine Frage zu Datenbanken hast.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi, Tom!
Datenbank: v3_newsletter
Tabelle: email
ich denke es würde so anfangen:
DELETE FROM v3_newsletter WHERE email...
Aber weiter weiß ich es auch nicht!
dseiner
Hello,
Datenbank: v3_newsletter
Tabelle: emailich denke es würde so anfangen:
DELETE FROM v3_newsletter WHERE email...Aber weiter weiß ich es auch nicht!
Na, ist doch schon ganz gut für den absoluten Anfang.
Wenn wir jetzt noch die Begriffe
- Datenbank Management System (DBMS)
- Datenbank
- Tabelle
auseinanderhalten, dann kommen wir der Sache schon näher.
Vielleicht benutzt Du mal eine Suchmaschine Deiner Wahl, um Dich über die Begriffe zu informieren.
Und dann wüsste ich immer noch gerne den Namen und die Version deines DBMS :-)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
ich denke Tom wollte eher wissen welches DBMS (hat er ja geschrieben) du verwendest. Als SQL, MySQL, SQLlight oder was ganz anderes?
Teilweise unterscheidet sich die Syntax, teilweise nicht.
Datenbank: v3_newsletter
Die Datenbank spielt hier keine Rolle. Wir gehen mal davon aus, dass du eine bestehende DB-Verbindung hast.
Tabelle: email
Das heißt: delete in email alle einträge ohne @-zeichen!
DELETE FROM v3_newsletter WHERE email...
Such doch bitte in deinem DB-Handbuch nach der richtigen Verwendung von DELETE.
DELETE FROM email WHERE...
So und jetzt stehn wir auf dem Schlauch. Uns fehlt für das Kriterium für die WHERE-Klausel. Wichtig ist also die Spalte in der du das @-Zeichen erwartest.
Also
DELETE FROM email WHERE spalten_name...
und dann der Teil mit dem @.
Grüße, Matze
als ich benutze mysql.
und für etwaige verständnisprobleme schildere ich kurz mein problem.
habe eine newsletterformular erstellt, auf dem die leute ihre emailadresse abschicken können. jedoch habe ich am anfang vergessen, die emailadresse auf die richtigkeit überprüfen zu lassen.
jetzt hab ich teilweise irgendwelchen mist dort stehen. da es aber insgesamt an die 200 datensätze sind und davon 100 keine richtigen emailadresse, will ich diese nicht alle per hand löschen sondern durch diesen befehl entfernen.
und die datensätze nach dem @ zu durchsuchen erscheint mir am besten.
es geht mir nur um den hinteren teil des befehles, bei dem es um das @-zeichen geht.
greetz
Hi dseiner!
es geht mir nur um den hinteren teil des befehles, bei dem es um das @-zeichen geht.
[...] WHERE 0 = [link:http://dev.mysql.com/doc/refman/5.1/de/string-functions.html#id3603971@title=LOCATE]('@',email)
Tipp: Ich habe die Funktion LOCATE verlinkt! Lies dir einfach mal durch was da steht. Das nächste mal sollte das MySQL-Handbuch deine erste Anlaufstelle sein, wenn du nach Stringfunktionen suchst.
MfG H☼psel
aha!
dann bedanke ich mich mal bei eurer hilfe!