English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL-Daten aktualisieren (UPDATE-Anweisung)

In diesem Tutorial werden Sie lernen, wie man Aufzeichnungen in einer Datenbanktabelle mit SQL aktualisiert.

Tabledaten aktualisieren

Im vorherigen Kapitel haben wir gelernt, wie man nach verschiedenen Bedingungeneinfügenund wie Daten aus einer DatenbanktabelleDaten auswählen。In diesem Tutorial werden wir lernen, eine wichtigere Aufgabe auszuführen, nämlich die bestehenden Aufzeichnungen in einer Datenbanktabelle zu aktualisieren.

Syntax

Die UPDATE-Anweisung wird verwendet, um bestehende Daten in einer Tabelle zu aktualisieren.

UPDATE table_name SET column1_name = value1, column2_name = value2,...WHERE condition;

hiercolumn1_namecolumn2_name,...ist der Name der Datenbanktabelle oder des Felds, deren Wert aktualisiert werden soll. Sie können auch die OR- und AND-Operatoren verwenden, die Sie im vorherigen Kapitel gelernt habenKombination mehrerer Bedingungen

Warnung:Die WHERE-Klausel in der UPDATE-Anweisung gibt an, welche Zeilen aktualisiert werden sollen. Wenn die WHERE-Klausel weggelassen wird, werden alle Zeilen aktualisiert.

Lassen Sie uns einige Beispiele betrachten, die zeigen, wie es tatsächlich funktioniert.

Angenommen, wir haben in der DatenbankemployeesTabelle, die die folgenden Aufzeichnungen hat:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

Aktualisierung eines einzelnen Spalten

Die folgenden SQL-Anweisungen aktualisierenemployeesTabelleemp_namedem Feld und einen neuen Wert festlegen, wobei die employee id (d.h.emp_id)entspricht3。

UPDATE employees SET emp_name = 'Sarah Ann Connor'
WHERE emp_id = 3;

Nach der Ausführung wird die Ergebnistabelle wie folgt aussehen:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   5600 |    NULL |
+--------+------------------+------------+--------+---------+

Aktualisierung mehrerer Spalten

Gleichzeitig können Sie eine Liste von Spaltennamen und Wertspaaren durch Kommas getrennt verwenden, um mehrere Spalten zu aktualisieren. Der folgende Beispiel aktualisiertemployeesin der Tabelleemp_idzu5 der bestehenden Mitarbeitersalaryunddept_idFeld.

UPDATE employees
SET salary = 6000, dept_id = 2
WHERE emp_id = 5;

Nach der Ausführung wird die Ergebnistabelle wie folgt aussehen:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   6000 |       2 |
+--------+------------------+------------+--------+---------+