DB/오라클(Oracle)

오라클 DML(INSERT, SELECT, UPDATE, DELETE)

푸코잇 2023. 11. 20. 09:13
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;