DML이란?
DML(Data Manipulation Language)은 데이터 조작어이다.
종류로는 INSERT(데이터 삽입), SELECT(데이터 조회), UPDATE(데이터 수정), DELETE(데이터 삭제)가 있다.
CREATE TABLE TBL_STUDENT(
ID NUMBER,
NAME VARCHAR2(100),
MAJOR VARCHAR2(100),
GENDER CHAR(1) DEFAULT 'W' NOT NULL CONSTRAINT BAN_CHAR CHECK(GENDER IN('M', 'W')),
CONSTRAINT STD_PK PRIMARY KEY(ID)
);
예제를 위해 TBL_STUDENT 테이블을 생성했다.
ID, NAME, MAJOR, GENDER 칼럼이 있고, ID 칼럼이 기본키(PK)이다.
INSERT (데이터 삽입)
- 기본 형식
-- 테이블에 정의되어 있는 특정 칼럼에 해당하는 데이터만 삽입하는 방법
INSERT INTO 테이블명(칼럼명1, 칼럼명2, 칼럼명3)
VALUES (데이터1, 데이터2, 데이터3);
-- 테이블에 정의되어 있는 모든 칼럼의 순서대로 데이터 삽입하는 방법
INSERT INTO 테이블명
VALUES (데이터1, 데이터2, 데이터3, ...);
- 데이터 삽입 예제
INSERT INTO TBL_STUDENT (ID, NAME, MAJOR) VALUES (1, '학생1', '컴퓨터공학과');
INSERT INTO TBL_STUDENT (ID, MAJOR, GENDER, NAME) VALUES (2, '컴퓨터공학과', 'M', '학생2');
INSERT INTO TBL_STUDENT VALUES (3, '학생3', '컴퓨터공학과', 'M');
-- NAME 칼럼은 VARCHAR2인데 NUMBER를 넣어 에러발생
INSERT INTO TBL_STUDENT VALUES (4, 4, '컴퓨터공학과', 'W');
데이터를 INSERT 할 때 주의할 점은 칼럼에 정의된 데이터타입과 제약조건을 만족해야 한다.
SELECT (데이터 조회)
데이터 조회하기 위해서는 SELECT문을 사용하면 된다.
- 기본 형식
-- 테이블의 모든 칼럼 조회
SELECT * FROM 테이블명;
-- 테이블의 특정 칼럼 조회
SELECT 칼럼명1[, 칼럼명2][, 칼럼명3] FROM 테이블명;
-- 특정 조건을 만족하는 데이터 조회
SELECT * FROM 테이블명 WHERE 조건식;
SELECT 칼럼명1[, 칼럼명2][, 칼럼명3] FROM 테이블명 WHERE 조건식;
- 데이터 조회 예제
-- 테이블의 모든 칼럼 조회
SELECT * FROM TBL_STUDENT;
-- 테이블의 NAME 칼럼만 조회
SELECT NAME FROM TBL_STUDENT;
-- ID가 1인 데이터 조회
SELECT * FROM TBL_STUDENT WHERE ID = 1;
UPDATE (데이터 수정)
데이터 수정하기 위해서는 UPDATE문을 사용하면 된다.
- 기본 형식
-- WHERE문이 없는 경우 모든 ROW의 특정 칼럼 값을 수정
UPDATE 테이블명 SET 칼럼명1=수정할 값[, 칼럼명2=수정할 값];
-- WHERE문이 있는 경우 조건을 만족하는 ROW의 특정 칼럼 값을 수정
UPDATE 테이블명 SET 칼럼명1=수정할 값[, 칼럼명2=수정할 값] WHERE 조건식;
- 데이터 수정 예제
-- ID가 1인 학생의 MAJOR를 '수학과'로 수정
UPDATE TBL_STUDENT SET MAJOR = '수학과' WHERE ID = 1;
DELETE (데이터 삭제)
데이터 삭제하기 위해서는 DELETE문을 사용하면 된다.
- 기본 형식
-- 테이블의 모든 데이터 삭제
DELETE FROM 테이블명;
-- 조건을 만족하는 데이터만 삭제
DELETE FROM 테이블명 WHERE 조건식;
- 데이터 삭제 예시
-- ID가 1인 학생 데이터 삭제
DELETE FROM TBL_STUDENT WHERE ID = 1;
'DB > 오라클(Oracle)' 카테고리의 다른 글
[Oracle] 오라클 별칭(AS) 사용법 (0) | 2023.11.23 |
---|---|
오라클 TCL(COMMIT, ROLLBACK, SAVEPOINT) (0) | 2023.11.21 |
오라클 DDL(CREATE, ALTER, RENAME, TRUNCATE, DROP) (0) | 2023.11.18 |
오라클 테이블 생성(CREATE TABLE, CONSTRAINT, COMMENT) (0) | 2023.11.09 |
오라클 데이터타입(Data Type) 정리 (0) | 2023.11.05 |