데이터 조작어(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;
반응형
'Database' 카테고리의 다른 글
[오라클/ORACLE] 데이터 잘라서 보는 ROWNUM (0) | 2021.06.01 |
---|---|
[오라클/ORACLE] 단일행 함수 ROUND | ABS | UPPER | SUBSTR (0) | 2021.05.31 |
[오라클/ORACLE] 데이터 정의어(DDL) - CREATE, ALTER, DROP (0) | 2021.05.29 |
[데이터베이스/DB] 선택적 조인, 외부 조인(OUTER JOIN) 사용법 (0) | 2021.05.28 |
[데이터베이스/DB] 연관 내용 검색하는 내부 조인(INNER JOIN) 사용법 (0) | 2021.05.28 |