Home » Tutorials » Datenbanken » MySQL mit ZeosLib

MySQL mit ZeosLib

Datensätze updaten

Was passiert, wenn sich ein Datensatz ändert? In einer Adressdatenbank kann dies der Fall sein, wenn beispielsweise ein Bekannter umzieht. Es besteht die Möglichkeit, bestehende Datensätze zu aktualisieren. Dies geschieht mit dem SQL-Befehl Update.

Auch bei diesem Befehl ist die Syntax verhältnismäßig einfach:

UPDATE tabellenname SET feld1='Neuer Wert';

Dieses Statement würde in einer Tabelle in jedem Datensatz das Feld feld1 auf Neuer Wert setzen:

Vorher Nachher
feld1 feld2
1 Beispiel 1
2 Beispiel 2
3 Beispiel 3
feld1 feld2
Neuer Wert Beispiel 1
Neuer Wert Beispiel 2
Neuer Wert Beispiel 3

Der Update-Vorgang kann natürlich auch auf einen Datensatz beschränkt werden. Wie schon bei DELETE und SELECT aus den vergangenen Kapiteln lässt sich auch UPDATE durch einen WHERE-Parameter beeinflussen.

UPDATE tabellenname SET feld1='Neuer Wert' WHERE feld2=Beispiel 2;

Dieses Statement würde beispielsweise nur den zweiten Datensatz aktualisieren und die anderen Datensätze unberührt lassen. Es können natürlich auch mehrere Felder auf einmal aktualisiert werden, indem man die Feldnamen/Werte per Komma trennt:

UPDATE tabellenname SET feld1='Neuer Wert', feld2='Neuer Wert 2';

Dieses Statement würde die Felder feld1 und feld2 eines jeden Datensatzes auf Neuer Wert bzw. Neuer Wert 2 setzen.

Im Quelltext würde das Aktualisieren eines ganzen Datensatzes so aussehen:

qrMain.SQL.Text:='UPDATE adressbuch Set vorname='''+edVorname.Text+''','+
  'name='''+edName.Text+''','+
  'adresse='''+edAdresse.Text+''','+
  'plz='''+edPLZ.Text+''','+
  'wohnort='''+edWohnort.Text+''' '+
  'WHERE id`='''+edID.Text+''';';
qrMain.ExecSql;  //SQL-Statement ausführen

Die Informationen werden aus den entsprechenden Edit-Feldern gelesen. Im Edit-Feld edID muss die ID-Nummer des Datensatzes angegeben werden.