Home - SQL Befehle - Datenmanipulation www.sqldocu.com
zurück vor



Daten ändern (UPDATE)


Beschreibung
top
Bevor du diesen Abschnitt durchliest, solltest du folgende Kapitel kennen:
Daten werden mit der SQL-Anweisung UPDATE geändert. Mit dem UPDATE Befehl legt man fest, welche Spalte geändert werden soll. Das bedeutet, wenn nichts anderes angegeben ist, wird die Spalte in jeder Zeile der Tabelle verändert. Wenn nur eine bestimmte Zeile geändert werden soll, kann man die Klausel WHERE in der UPDATE Abfrage verwenden.
Um Informationen (Datensätze) in eine Tabelle zu ändern, muss man die entsprechenden Rechte besitzen (siehe Datenbank Administration). Meist ist man der Besitzer der Tabelle, womit die nötigen Rechte vorhanden sind.
Der UPDATE Befehl wird sofort ausgeführt. Manche RDBMS bieten die Möglichkeit mit SET AUTOCOMMIT OFF Anweisungen temporär zu speichern, und somit später rückgängig zu machen (siehe COMMIT/ROLLBACK).


Syntax
top
UPDATE
Urheber.   optional  
TabelleName | ViewName
AliasName   optional  
SET
SpaltenName=Wert  [,SpaltenName=Wert]  [,..]
WHERE Suchbedingung   optional  

| ... trennt Syntaxmöglichkeiten (entweder oder)
[] ... Syntax innerhalb dieser Klammern ist optional
optional ... Syntax in dieser Zeile ist optional
Beispiele:
UPDATE meineTabelle SET Spalte1=24
UPDATE meineTabelle SET Spalte1=-1 WHERE Spalte4>100
UPDATE Benutzer1.meineTabelle SET Spalte1=-1 WHERE Spalte4=100

Beispiel Tabelle:
top
Sie wird in mehreren Beispielen verwendet um SQL besser darstellen zu können.
TabelleName: emailAdressen
Die Tabelle emailAdressen besteht aus 4 Spalten und 5 Reihen
Spalte1 hat den Namen vorname.
Spalte2 hat den Namen nachname
Spalte3 hat den Namen email
Spalte4 hat den Namen gewicht

Spaltenname vorname nachname email gewicht
Reihe 1 Michaela König michi@yahoo.de 71
Reihe 2 Kati Müller kati@hotmail.com 48
Reihe 3 Conny Schmid conny3@hotmail.com 63
Reihe 4 Linda Becker linda@hotmail.de 56
Reihe 5 Kati Auer kati@gmx.de 52



Alle Zeilen einer Tabelle ändern
top
UPDATE emailAdressen
SET
gewicht=0

Mit diesem SQL Befehl wird in die Tabelle emailAdressen der Wert der Spalte gewicht in jeder Zeile in 0 geändert. Das RDBMS führt vor dem Ändern (updaten) von Zeilen einen Integritätstest durch. Dabei wird untersucht ob die geänderten Werte dem Datentyp der Spalte entsprechen, ob die zu ändernden Spalten existieren... Weiters wird überprüft ob vom Benutzer der Wertebereich einer Spalte eingeschränkt wurde (siehe Vorschriften erstellen und Tabellen erstellen) und die zu ändernden Daten dem vorgeschriebenen Wertebereich entsprechen.

Tabelle nach UPDATE Anweisung:
Michaela König michi@yahoo.de 0
Kati Müller kati@hotmail.com 0
Conny Schmid conny3@hotmail.com 0
Linda Becker linda@hotmail.de 0
Kati Auer kati@gmx.de 0

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Bestimmte Zeilen einer Tabelle ändern
top
UPDATE emailAdressen
SET
  gewicht=57,   email=""
WHERE vorname="Linda" AND nachname="Becker"

Von Linda Becker wird das Gewicht von 56 auf 57 und email von "linda@hotmail.de" auf "" geändert. Da der Name Linda in der Tabelle nur einmal vorkommt, hätte folgende WHERE Bedingung ausgereicht:
WHERE vorname="Linda"
Zeichketten müssen zwischen einfachen oder doppelten Hochkommas stehen! Das RDBMS führt vor dem Ändern (updaten) von Zeilen einen Integritätstest durch. Dabei wird untersucht ob die geänderten Werte dem Datentyp der Spalte entsprechen, ob die zu ändernden Spalten existieren... Weiters wird überprüft ob vom Benutzer der Wertebereich einer Spalte eingeschränkt wurde (siehe Vorschriften erstellen und Tabellen erstellen) und die zu ändernden Daten dem vorgeschriebenen Wertebereich entsprechen.

Tabelle nach UPDATE Anweisung:
Michaela König michi@yahoo.de 71
Kati Müller kati@hotmail.com 48
Conny Schmid conny3@hotmail.com 63
Linda Becker 57
Kati Auer kati@gmx.de 52

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


top