백엔드/PostgresQL

[PostgreSQL] Postgresql 강좌 - 8.DML

Koras02 2023. 1. 10. 13:51

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_n은 

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 3name은 Milk, price는 2.99를 삽입합니다.

INSERT INTO products (product_no, name, price) VALUES 
   (1,'Cheese', 9.99), 
   (2, 'Bread', 1.99), 
   (3, 'Milk', 2.99);
   
   
INSERT 0 3

UPDATE

UPDATE는 이미 데이터베이스에 존재하고 있는 데이터를 수정 할 때 사용합니다.

 

각각의 열을 업데이트하거나 테이블 전체의 열들을

수정할 수 있습니다.

 

선택된 컬럼값은 갱신이 되고 컬럼은 영향을

받지 않습니다. 

 

테이블을 업데이트 할 때는 3가지를 알아야 합니다.

  • 테이블과 업데이트 할 컬럼의 이름
  • 새로 갱신 할 컬럼의 값
  • 무슨 열을 갱신 할 것인가

다음은 UPDATE에 대한 몇가지 예제 입니다.

products 테이블에서 price값이 5인 열의

price값을 10으로 갱신합니다.

UPDATE products 
   SET price = 10 
   WHERE price = 5;

UPDATE 0

products 테이블에서 모든열에 price값에

1, 1을 곱하여 갱신합니다.

UPDATE products 
      SET price = price * 1.10;


UPDATE 5

DELETE

테이블에서 데이터를 제거 할 때는 DELETE를

사용합니다. 한번에 한 데이터를 

 

삭제하거나 여러게, 전부를 삭제할 수도 있습니다.

이 때 primary key의 값을 알고 있다면 

 

지정한 데이터만 정확하게 삭제 할 수 있습니다.

다음을 DELETE에 대한 몇가지 예제 입니다.

 

products 테이블에서 price 값이 10인 열을 삭제합니다.

DELETE FROM products WHERE price =10;
DELETE 0

products 테이블의 모든 열을 전부 삭제합니다.

DELETE FROM products;

참고 자료

http://www.gurubee.net/lecture/2952

 

DML

DML(Data Manipulation Language)은 데이터를 조작어로서 DML에는 INSERT, UPDATE, DELETE등이 있습니다. INSERT DML사용의 예를 들기 위..

www.gurubee.net