podsumowanie: w tym artykule opisano, jak używać typów basic data manipulation language (DML) INSERT, UPDATE, UPDATE JOINS, DELETE i UPSERT do modyfikowania danych w tabelach.,
- język manipulacji danymi (DML)
- typy instrukcji DML
- Wstaw instrukcję
- update with JOINS
- UPSERT
język manipulacji danymi (DML)
Instrukcja DML jest wykonywana, gdy:
- Dodaj nowe wiersze w tabeli.
- Modyfikuj istniejące wiersze w tabeli.
- usuwa istniejące wiersze z tabeli.,
typy instrukcji DML
- Wstaw
- UPDATE
- DELETE
Wstaw instrukcję
możesz dodać nowe wiersze do tabeli używając instrukcji INSERT:
składnia
INSERT INTO table )] VALUES (value );
przy powyższej składni tylko jeden wiersz jest wstawiany na raz.
a) Wstaw nowe wiersze: Wstaw nowe wiersze dla każdej kolumny.,
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.,
składnia
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
przykład 1
zmień wartość ID działu na 50 dla pracownika, którego id wynosi 100, używając klauzuli WHERE::
przykład 2
bez klauzuli WHERE cała tabela zostanie zaktualizowana:
przykład 3
zaktualizuj wiele wierszy.
możemy zaktualizować więcej niż jeden wiersz używając instrukcji UPDATE:
UPDATE JOINS
możemy użyć UPDATE JOINS aby dodać wartości z oddzielnej tabeli.,
w poniższym przykładzie zaktualizowaliśmy wartości w drugiej tabeli, łącząc wartości z pierwszej tabeli, określając warunek w klauzuli WHERE.
zaktualizuj wartości w drugiej tabeli łącząc wartości z pierwszej tabeli:
utwórz dwie tabele z danymi:
zaktualizuj wartości w drugiej tabeli łącząc wartości z pierwszej tabeli:
postgres=# UPDATE states SET Name = countries.Name FROM countries WHERE states.ID = countries.ID;
wynik:
postgres=# select * from states ; id | name ----+--------- 1 | America 2 | Brazil 3 | Canada(3 rows)
Usuń instrukcję
polecenie delete służy do usuwania istniejących wierszy z tabeli.,
składnia
DELETE table ;
przykład 1
Usuń wiersze, ograniczając warunek za pomocą klauzuli WHERE. Jeśli klauzula WHERE zostanie pominięta, wszystkie wiersze tabeli zostaną usunięte.
postgres=# delete from departments where department_name = 'HR';
przykład 2
zapytanie podrzędne pobierze najpierw dane wyjściowe, a następnie zostanie wykonany warunek WHERE:
postgres=# DELETE FROM departmentsWHERE department_id = (SELECT department_id FROM departments where location_id=1200);
Instrukcja UPSERT
używając instrukcji UPSERT, możesz zaktualizować rekord, jeśli już istnieje lub wstawić nowy rekord, jeśli nie. Można to zrobić za pomocą jednego polecenia.,
przykład
poniżej przykład użycia INSERT…O konflikcie: