ZUSAMMENFASSUNG: In diesem Artikel wird beschrieben, wie die DML-Typen Basic Data Manipulation Language (DML) INSERT, UPDATE, UPDATE JOINS, DELETE und UPSERT zum Ändern von Daten in Tabellen verwendet werden.,
- Data Manipulation Language (DML)
- DML Statement Types
- INSERT Statement
- UPDATE Statement
- UPDATE with JOINS
- DELETE Statement
- UPSERT
Data Manipulation Language (DML)
Eine DML Anweisung wird ausgeführt, wenn Sie:
- Neue Zeilen hinzufügen zu einem Tisch.
- Vorhandene Zeilen in einer Tabelle ändern.
- Vorhandene Zeilen aus einer Tabelle entfernen.,
DML-Anweisungstypen
- INSERT
- UPDATE
- DELETE
INSERT-Anweisung
Sie können einer Tabelle neue Zeilen hinzufügen, indem Sie die INSERT-Anweisung verwenden:
Syntax
INSERT INTO table )] VALUES (value );
Mit der obigen Syntax wird jeweils nur eine Zeile eingefügt.
a) Neue Zeilen einfügen: Neue Zeilen für jede Spalte einfügen.,
Table Structure
Example
INSERT INTO departments(department_id,department_name,manager_id, location_id) VALUES (10, 'IT', 100, 1100);
Or
INSERT INTO departments VALUES (10, 'IT', 100, 1100);
b) Insert Rows with null values:
Example
INSERT INTO departments(department_id,department_name) values (20,'HR');
Or
INSERT INTO departments values (30,'Sales',null,null);
UPDATE Statement
Using an UPDATE statement a user can modify an existing row.,
Syntax
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Beispiel 1
Ändern Sie einen wert Abteilung id zu 50 für einen mitarbeiter, dessen ID ist 100 mit der WHERE klausel::
Beispiel 2
Ohne die WHERE klausel die gesamte tabelle würde aktualisiert:
Beispiel 3
Update MEHRERE ZEILEN.
Wir können mehr als eine Zeile mit einer UPDATE-Anweisung aktualisieren:
UPDATE JOINS
Wir können UPDATE JOINS verwenden, um Werte aus einer separaten Tabelle hinzuzufügen.,
Im folgenden Beispiel haben wir die Werte in der zweiten Tabelle aktualisiert, indem wir die Werte aus der ersten Tabelle mit der Bedingung in der WHERE-Klausel verknüpft haben.
Aktualisieren Sie die Werte in der zweiten Tabelle, indem Sie Werte aus der ersten Tabelle verbinden:
Erstellen Sie zwei Tabellen mit Daten:
Aktualisieren Sie die Werte in der zweiten Tabelle, indem Sie Werte aus der ersten Tabelle verbinden:
postgres=# UPDATE states SET Name = countries.Name FROM countries WHERE states.ID = countries.ID;
Ergebnis:
postgres=# select * from states ; id | name ----+--------- 1 | America 2 | Brazil 3 | Canada(3 rows)
DELETE Anweisung
Die DELETE Anweisung wird verwendet, um vorhandene Zeilen von einem Tisch.,
Syntax
DELETE table ;
Beispiel 1
Löschen Sie Zeilen, indem Sie eine Bedingung mithilfe einer WHERE-Klausel einschränken. Wenn die WHERE Klausel weggelassen wird, werden alle Zeilen aus der Tabelle gelöscht.
postgres=# delete from departments where department_name = 'HR';
Beispiel 2
Eine Unterabfrage ruft zuerst eine Ausgabe ab und dann wird die WHERE-Bedingung ausgeführt:
postgres=# DELETE FROM departmentsWHERE department_id = (SELECT department_id FROM departments where location_id=1200);
UPSERT-ANWEISUNG
Mit einer UPSERT-Anweisung können Sie einen Datensatz aktualisieren, wenn er bereits vorhanden ist, oder einen neuen Datensatz einfügen, wenn dies nicht der Fall ist. Dies kann in einer einzigen Anweisung erfolgen.,
Beispiel
Unter Beispielbeispiel für die Verwendung von INSERT…KONFLIKT: