[PostgreSQL] DML
2021. 3. 2. 16:10흐릿한 이미지는 클릭하면 확대됩니다.
DML(Data Manipulation Language)은 데이터를 조작어로서 DML에는 INSERT, UPDATE, DELETE등이 있습니다.
INSERT
DML사용의 예를 들기 위해서 먼저 products 테이블을 생성하겠습니다.
products테이블에 integer형의 product_no, text형의 name, numeric형의 price컬럼을 생성합니다.
CREATE TABLE products (
product_no integer,
name text,
price numeric
);
테이블이 처음에 생성될 때는 테이블에 데이터가 하나도 포함되어있지 않습니다. 그래서 테이블 생성후에 데이터를 삽입해야 합니다. 데이터는 한번에 한 열씩 입력하게 되는데 이때 INSERT를 사용해서 열을 생성합니다.
products테이블에 product_no는 1, name은 Cheese, price는 9.99를 삽입합니다.
INSERT INTO products VALUES (1, 'Cheese', 9.99);
그리고 column을 선택하여 몇가지만 값을 입력 할 수도 있습니다. 이때 테이블에 제약조건이 걸려있는지 확인하고 NOT NULL이 아닌 컬럼만 생략 할 수 있습니다.
products 테이블에서 product_no는 1, name은 Cheese를 삽입합니다.
INSERT INTO products (product_no, name) VALUES (1, 'Cheese');
한번의 명령어로 여러 개의 열을 입력 할 수도 있습니다.
products 테이블에서 product_no는 1, name은 Cheese, price는 9.99를 삽입합니다.
product_no는 2, name은 Bread, price는 1.99를 삽입합니다.
product_no는 3, name은 Milk, price는 2.99를 삽입합니다.
INSERT INTO products (product_no, name, price) VALUES
(1, 'Cheese', 9.99),
(2, 'Bread', 1.99),
(3, 'Milk', 2.99);
UPDATE
UPDATE는 이미 데이터베이스에 존재하고 있는 데이터를 수정 할 때 사용합니다.
각각의 열을 업데이트하거나 테이블 전체의 열들을 수정 할 수 있습니다. 선택된 컬럼값은 갱신이 되고 그외의 컬럼은 영향을 받지 않습니다. 테이블을 업데이트 할 때는 3가지를 알아야 합니다.
- 1. 테이블과 업데이트 할 컬럼의 이름
- 2. 새로 갱신 할 컬럼의 값
- 3. 무슨 열을 갱신 할 것인가
다음은 UPDATE에 대한 몇가지 예제 입니다.
products 테이블에서 price값이 5인 열의 price값을 10으로 갱신합니다.
UPDATE products
SET price = 10
WHERE price = 5;
products 테이블에서 모든열에 price값에 1.1을 곱하여 갱신합니다.
UPDATE products
SET price = price * 1.10;
Mytable 테이블에 a가 0보다 큰 열들의 a, b, c값을 5, 3, 1로 갱신합니다.
UPDATE mytable
SET a = 5
, b = 3
, c = 1
WHERE a > 0;
DELETE
테이블에서 데이터를 제거 할때는 DELETE를 사용합니다. 한번에 한 데이터를 삭제하거나 여러 개, 전부를 삭제 할 수도 있습니다.
이 때 primary key의 값을 알고 있다면 지정한 데이터만 정확하게 삭제 할 수 있습니다.
다음은 DELETE에 대한 몇가지 예제 입니다.
products 테이블에서 price의 값이 10인 열을 삭제합니다.
DELETE
FROM products
WHERE price = 10;
products테이블의 모든 열을 전부 삭제합니다.
DELETE FROM products;
'DATABASE > POSTGRESQL' 카테고리의 다른 글
[Postgresql] Oracle FDW 사용하기 (0) | 2021.03.03 |
---|---|
[Postgresql] dblink 사용하기 (0) | 2021.03.03 |
[PostgreSQL] SELECT (0) | 2021.03.02 |
[PostgreSQL] 테이블 관리 (생성,변경,삭제) (0) | 2021.03.02 |
[PostgreSQL] 제약조건 (0) | 2021.03.02 |