[오라클/ORACLE] 데이터 조작어(DCL) - INSERT, DELETE, UPDATE

데이터 조작어(DCL)

데이터 조작어(Data Control Language)는 데이터베이스에 데이터를 삽입(INSERT), 삭제(DELETE), 수정(UPDATE)하는 명령어를 포함한다. 자바 같은 프로그래밍 언어의 기능과 비슷하다고 보면 된다.

INSERT

테이블에 새로운 튜플을 삽입하는 명령어다. 가로로 한 줄 추가된다.

INSERT INTO 테이블명[속성리스트] VALUES(속성값1, 속성값2,...);

예제를 진행하기 위해 우선 CREATE TABLE을 이용해 테이블을 만들어 준다.

CREATE TABLE discounts (
    discount_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    discount_name VARCHAR2(255) NOT NULL,
    amount NUMBER(3,1) NOT NULL,
    start_date DATE NOT NULL,
    expired_date DATE NOT NULL
);

이제 이곳에 INSERT로 값을 넣어준다.

INSERT INTO discounts(discount_name, amount, start_date, expired_date)
VALUES('Summer Promotion', 9.5, DATE '2021-05-29', DATE '2021-06-29');

DELETE

DELETE는 테이블에 있는 튜플을 삭제하는 명령이다. 가로를 한 줄 지운다.

DELETE FROM 테이블이름 [WHERE 검색조건];

[]안에 있는 값은 생략 가능하다는 의미다. 그러나 DELETE문을 조건 없이 수행할 경우 테이블 내 모든 레코드가 날아가 버린다. 때문에 어지간하면 WHERE 절은 디폴트로 사용한다고 생각하는 편이 좋다. 참고로 DELETE 한 내용 다시 되돌리는 명령어는 ROLLBACK;이다.

위의 예제를 그대로 사용해서 추가했던 튜플을 삭제해보자.

DELETE FROM discounts WHERE discount_id = 1;

튜플이 삭제됐다.

UPDATE

update는 특정 값을 수정하는 명령어다.

UPDATE 테이블이름
SET 속성이름1 = 값1, [속성이름2 = 값2...]
[WHERE 검색조건];

이 역시 마찬가지로 WHERE 조건문을 생략해도 동작하는데, 주의해서 사용하는 게 좋다.

이번엔 새로운 테이블을 만들어서 값을 넣고 UPDATE을 활용해보자.

CREATE TABLE persons(
    person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(50) NOT NULL,
    last_name VARCHAR2(50) NOT NULL,
    PRIMARY KEY(person_id)
);

INSERT INTO persons VALUES(1,'길동','홍');
INSERT INTO persons VALUES(2,'길순','홍');

PERSON_ID의 값이 1인 튜플의 FIRST_NAME 값을 '길똥'으로 바꿔보자.

UPDATE persons SET first_name = '길똥' WHERE person_id = 1;

반응형

댓글

Designed by JB FACTORY