PostgreSQL 기본강좌
DML 0 0 45,791

by PostgreSQL PostgreSQL DML PostgreSQL 기본 [2015.12.03]


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;

- 강좌 URL : http://www.gurubee.net/lecture/2952

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입