www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » MySQL Tutorial - Datenbank unter PHP » Datenbankanwendung Schritt für Schritt programmieren » Datensätze ändern über SQL-Anweisung

Datensätze updaten direkt über SQL-Anweisung

Für das updaten eines Datensatzes benötigen wir einen eindeutigen Bezug. Wir könnten zwar sagen:

  • ändere bei Müller den Vornamen in „Simone“

Aber was ist, wenn es mehr als einen Müller gibt?

Auch das Datum der Erstellung ist nicht eindeutig (wenn auch relativ unwahrscheinlich, dass jemand am gleichen Tag sogar zur gleichen Sekunde einen Datensatz angelegt hat).

Hier kommt unser Feld „id“ zum Zuge. Dieses ist laut definition einmalig. Hier haben wir unseren eindeutigen Bezug. Sprich unsere Regel würde lauten

  • ändere bei Feld „id“ mit der Nummer 2 den Vornamen in „Simone“

Hierzu benötigen wir nun eine SQL-Anweisung (sprich eine SQL-Query).

Im ersten Beispiel wollen wir das Erstellungsdatum ändern. Dieses setzen wir auf das „2016-12-24 20:00:00“

UPDATE welche-tabelle SET welches-feld = 'neuer-wert'
UPDATE kontakte SET erstellt = '2020-12-24 20:00:00'

Diese SQL-Anweisung können wir nun auch direkt in phpMyAdmin eingeben – ein guter Test, ob eine SQL-Anweisung funktioniert. Im Reiter SQL können wir nun direkt auch SQL-Befehle eingeben. Hier immer sehr vorsichtig, da man damit auch schnell Datenbankinhalte zum Teufel jagen kann.

SQL update über phpMyAdmin
SQL update über phpMyAdmin

Als Feedback bekommen wir, dass 2 Datensätze von der SQL-Anweisung betroffen worden sind – sprich 2 Datensätze wurden geändert.

Update betrifft 2 Datensätze
Update betrifft 2 Datensätze

Sehr schön ist, dass wir hier auch nochmals unsere SQL-Anweisung sehen.

Gehen wir nun zurück auf den Reiter „anzeigen“ ist das Ergebnis sichtbar. Wir haben nun bei beiden beide Datensätzen das erstell-Datum auf Weihnachten „gesetzt“.

Meisten möchte man nicht ALLES, sondern nur gezielt einzelne Datensätze setzen. Dazu müssen wir eine Bedingung setzen. Unsere SQL-Anweisung wird also ergänzt mit where und der Bedingung.

UPDATE kontakte SET erstellt = '2020-12-25 21:00:00' WHERE id = '2'

Somit wird nur für den Datensatz mit der ID 2 die angewendet.

update mit Bedingung WHERE
update mit Bedingung WHERE
Feedback von phpMyAdmin, dass 1 Datensatz betroffen ist
Feedback von phpMyAdmin, dass 1 Datensatz betroffen ist
Anzeige mit Änderung in phpMyAdmin
Anzeige mit Änderung in phpMyAdmin

Exkursion: mehr Sicherheit durch Einschränkung

Läuft alles wie erwartet, haben wir genau den Datensatz geändert, den wir wollten. Läuft alles schief, weil wir uns in der Bedingung vertan haben, kann die ganze Datenbank betroffen sein. Das hat sich schneller, als man denkt.

Angenommen:

UPDATE kontakte SET erstellt='2020-12-25 21:00:00' WHERE 2='2'

Was geben wir mit der Anweisung mit:

Update in der Tabelle kontakte das Feld „erstellt“ WENN 2 = 2 ist

Und 2 ist immer 2 (sonst wäre es keine 2) – das trifft also immer zu und somit haben wir versehentlich alle Datensätze geändert!

Daher ist es sinnvoll, eine Einschränkung zu machen. Wenn es sicher ist, dass wir mit unserer update-Anweisung eh immer nur 1 Datensatz ändern wollen, können wir unsere SQL-Anweisung auch einschränken (limitieren). Und dazu gibt es in SQL die Anweisung LIMIT. Unsere falsche Anweisung von oben entschärft wäre dann:

UPDATE kontakte SET erstellt='2020-12-25 21:00:00' WHERE 2='2' LIMIT 1

Somit wäre nur 1 Datensatz davon betroffen und wir haben nicht die kompletten Datensätze ramponiert. Das klappt immer und überall. Sprich bei der korrekten SQL-Anweisung wäre die Erweiterung ohne Bedeutung, da es eh nur der eine Datensatz mit der id=2 ist.

UPDATE kontakte SET erstellt='2020-12-25 21:00:00' WHERE id='2' LIMIT 1

Also machen, wenn es logisch zulässig ist :) – sonst kann der Ärger echt groß sein, wenn man sich die erste Datenbank zerschossen hat.

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe