DML(Data Manipulation Language)은 데이터를 조작어로서 DML에는 INSERT, UPDATE, DELETE등이 있습니다.
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는 이미 데이터베이스에 존재하고 있는 데이터를 수정 할 때 사용합니다.
각각의 열을 업데이트하거나 테이블 전체의 열들을 수정 할 수 있습니다. 선택된 컬럼값은 갱신이 되고 그외의 컬럼은 영향을 받지 않습니다. 테이블을 업데이트 할 때는 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를 사용합니다. 한번에 한 데이터를 삭제하거나 여러 개, 전부를 삭제 할 수도 있습니다.
이 때 primary key의 값을 알고 있다면 지정한 데이터만 정확하게 삭제 할 수 있습니다.
다음은 DELETE에 대한 몇가지 예제 입니다.
products 테이블에서 price의 값이 10인 열을 삭제합니다.
DELETE FROM products WHERE price = 10;
products테이블의 모든 열을 전부 삭제합니다.
DELETE FROM products;
- 강좌 URL : http://www.gurubee.net/lecture/2952
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.