hilfreiche-tools.de  ⇒ SQL Befehle  ⇒ SQL Befehle Update

SQL Befehle Update

Wir bieten Ihnen hier ein einfaches Tool zur Erstellung eines Update Befehls für einen Datenbankabfrage.

Mit UPDATE können Werte aus einer Tabelle verändert werden. Aufbau :

UPDATE
Tabelle
SET Spalte=Wert[,Spalte=Wert][,...]
WHERE Bedingung

Wie verändert man alle Werte eines Feldes in einer Tabelle?

Name der Tabelle  
Feld das geändert werden soll  
Neuer Wert des Feldes  

Wie verändert man den Wert bestimmter Felder in einer Tabelle?

Name der Tabelle  
Feld das geändert werden soll  
Neuer Wert des Feldes  
Feld das geprüft werden soll  
Nach welcher Bedingung soll geprüft werden?  
Auf welchen Wert soll geprüft werden?  

Wie verändert man den Wert über zwei Tabellen?

Name der 1. Tabelle  
Name der 2. Tabelle  
Name des abhängigen Feldes aus Tabelle 1  
Nach welcher Bedingung soll geprüft werden?  
Name des abhängigen Feldes aus Tabelle 2  
Filter für Tabelle 1  
Nach welcher Bedingung soll geprüft werden?  
Auf welchen Wert soll geprüft werden?  
Name des zu ändernden Feldes aus Tabelle 1  
Neuer Wert des Feldes  

Haben Sie Fragen zu diesem Thema



Häufig gestellte Fragen

Kann man die Update-Funktion rückgängig machen?

Der Update-Befehl wird wie alle anderen mySQL-Befehle auch direkt in die Datenbank geschrieben, ohne Rücksicht auf Verluste. Daher empfiehlt es sich in produktiven Tabellen oder Datenbanken, die bereits im Zugriff anderer Systeme sind, eine Sicherung anzulegen. Bei mySQL gibt es ebenfalls die Möglichkeit, das sogenannte "Binary Log" zu aktivieren. Diese Protokolldatei dokumentiert dann die vorgenommen Änderungen in Maschinencode. Anhand der darin gespeicherten Informationen können Datenbankspezialisten die meisten Änderungen rückgängig machen. Doch diese Arbeit kostet Zeit und somit meisten auch Geld.
Der einfache Weg - ein Backup der Inhalte über die integrierte mySQL-Funktion - ist meistens sehr performant, sicher und bewahrt den unerfahrenen Benutzer davor, kritische Daten nach dem Ausführen unperfekter Befehlszeilen im Nirvana zu wissen.

 

Was genau steckt hinter der mySQL Update-Funktion?

Die mySQL Update-Funktion erlaubt es dem Benutzer mit administrativem Zugriff auf eine mySQL-Datenbank innerhalb einer oder mehrerer mySQL-Tabellen Änderungen an Daten vorzunehmen. Mit Hilfe von Attributen können die zu ändernden Daten genauer spezifiziert werden. Auch eine Verfeinerung der Art der Änderung ist durch Attribute möglich. Der Grundbefehl der mySQL Update-Funktion lautet UPDATE tabelle1 SET spalte1 = 'Test'. Führt man diesen Befehl aus, dann wird in der tabelle1 in der spalte1 bei jedem Datensatz der Eintrag Test stehen. Aus diesem Grund ist es unabdingbar, die Anweisung genauer auf bestimmte Werte zu spezifizieren.

 

Welche unterschiedlichen Update-Funktionen gibt es?

Die einfachste aller mySQL Update-Funktionen sieht vor, einen Wert in einer bestimmten Spalte und in einer bestimmten Reihe zu verändern. Vergleichbar ist dies mit Microsoft Excel, wo ich zum Beispiel in der Spalte 1, Reihe 10 einen Nachnamen von "Meier" in "Müller" ändern möchte. Dies erreiche ich mit dem Befehl UPDATE namensliste SET name = 'Mueller' WHERE name = 'Meier'. Doch mySQL ist an dieser Stelle einfach gestrickt und macht genau das, was man dem System befiehlt: alle Nachnamen "Meier" werden in "Müller" geändert, egal bei welchem Vornamen. Das kann bei bestimmten Daten gewünscht sein, doch im Falle einer Namensliste ist es höchstwahrscheinlich nicht so. Daher empfiehlt es sich, ein WHERE-Statement auszuwählen, was für den gewünschten Datensatz einmalig ist, zum Beispiel das Geburtsdatum. Über die genauere Definition des WHERE-Statements lässt sich somit die versehentliche Bearbeitung nahezu ausschließen. Der Befehl UPDATE namensliste SET name = 'Mueller' WHERE name = 'Meier' AND geburtsdatum = '24.05' ändert dann den Nachnamen des gewünschten Herrn Meiers in Müller, welcher am 24. Mai Geburtstag hat.
Nehmen wir an, es handelt sich bei der Tabelle im Beispiel um die Mitgliederkartei eines Vereins. Dann ist es wenig sinnvoll, diese Daten zu manipulieren, wenn ein Benutzer gerade auf Daten zugreift oder Daten schreibt. In diesem Fall sorgt das Attribut LOW_PRIORITY dafür, dass die Ausführung des Update-Befehls erst dann erfolgt, wenn keine Zugriffe mehr stattfinden. Die Syntax lautet dann UPDATE LOW_PRIORITY namensliste SET name = 'Mueller' WHERE name = 'Meier'. In manchen Fällen kann es gewünscht sein, dass ein Befehl zu Ende ausgeführt wird, auch wenn Fehler auftreten (z.B. bei tausenden von Datensätzen). In diesem Fall kann das ATTRIBUT IGNORE hinzugefügt werden. Syntax: UPDATE LOW_PRIORITY IGNORE namensliste SET name = 'Mueller' WHERE name = 'Meier'Fehler werden dann ignoriert und die Anweisung wird weiter ausgeführt.
Der Update-Befehl ist ebenfalls in der Lage, mit bestehenden Werten zu rechnen. Als Beispiel nehmen wir eine Geburtstagsliste aller Mitglieder des Vereins. Mit dem folgenden Befehl kann nun tagesaktuell das Alter der Mitglieder aktualisiert werden: UPDATE geburtstagsliste SET alter = alter+1 WHERE geburtstag = '12.02.'. Das Ergebnis sieht so aus, dass alle Mitglieder, die am 12. Februar Geburtstag haben, bei Ausführung des Befehls ein Jahr älter werden. Anstatt dem 12.02. könnte man eine Variable angeben und diesen Befehl jeden Tag automatisch ausführen lassen. Bei vielen Mitgliedern würde so jeden Tag zu einer definierten Uhrzeit die Geburtstagsliste automatisch aktualisiert werden.
Die Rechenfunktionen werden immer von links nach rechts gelesen. Somit ist es möglich, mehrere Rechenfunktionen in einem Befehl anzugeben. Zahlen beispielsweise alle Mitglieder unterschiedliche Mitgliedsbeiträge und sollen diese in zwei Schritten angepasst werden, so ist auch dies möglich. Nehmen wir an, jedes Mitglied soll ab sofort 10% mehr Beitrag zahlen und bekommt einen Rabatt von 30,-€. Dies kann je nach Höhe der Beitragszahlung in der Summe weniger oder mehr Mitgliedsbeitrag ausmachen. Erreichen kann man diese Berechnung durch den Befehl UPDATE Übersicht_beitraege SET monatsbeitrag = monatsbeitrag*1.1, monatsbeitrag+30. Somit wird der aktuelle Monatsbeitrag mit 1,1 multipliziert (plus 10%) und erst danach um 30,-€ erhöht.
Der Update-Befehl bietet in der Theorie einige weitere Attribute, deren praktischer Nutzen teilweise zweifelhaft ist. Eine gute und schnelle Übersicht über die wichtigsten Befehle und deren Syntax kann man online einsehen. Da mySQL ein quelloffenes System ist, werden sämtliche Befehle auch dort dokumentiert. Hier geht es direkt zum Kapitel "Update-Befehl".

 



Die Frage wurde eingereicht.

Möchtest du über die Antwort informiert werden gib deine Emailadresse an.

Wir nutzen Google Produkte die Cookies setzen, mit der Nutzung der Seite stimmen Sie zu. mehr Infos