9. DML

jedo5000·2023년 12월 4일
0

DataBase

목록 보기
9/13
post-thumbnail

9.1 DML이란?

DML (Data Manipulation Language)

  • 데이터 조작어
  • 테이블에 원하는 데이터를 입력/수정/삭제하는 역할
  • INSERT : 테이블에 새로운 데이터를 입력
  • UPDATE : 테이블에 있는 기존 데이터를 새로운 내용으로 수정
  • DELETE : 테이블에 있는 기존 데이터를 삭제
    - SELECT : 테이블에 있는 데이터를 조회(SELECT를 DML로 보기도 한다.)

9.2 INSERT

  • 테이블에 새로운 데이터를 튜플(행) 단위로 입력
INSERT INTO 테이블명 ( COLUMN_LIST ) VALUES ( COLUMN_LIST에 입력할 값 리스트) ; 
ex) INSERT INTO 수강생정보 ( 학생 ID, 학생이름, 소속반) VALUES ( ‘S0088’, ‘민수‘, ‘H’ ) ;

INSERT 사용 시 주의사항
1) 식별자에 NULL값이나 중복 값 입력 불가
2) 입력 값이 컬럼의 기존 자료형과 일치해야 함
3) 소괄호 및 COMMA 사용 주의
4) INSERT 문에 언급하지 않은 컬럼 정보는 NULL값이 자동 입력된다.
5) COLUMN_LIST 의 개수와 COLUMN_LIST에 입력할 값 리스트의 개수가 같아야 함
6) 테이블의 컬럼 정보를 모두 일치시키면 COLUMN_LIST를 쓰지 않아도 실행 가능(권장 X)

9.3 UPDATE

  • 테이블에 있는 기존 데이터를 새로운 내용으로 수정
[문법] UPDATE 테이블명 SET 바꿀컬럼 = 바꿀값 WHERE 바꾸고싶은행조건 ;

[주의사항]
1. WHERE의 조건에 해당하는 튜플이 없으면 정확한 수정 불가
2. WHERE문을 입력하지 않으면 모든 행의 데이터 전체 수정(주의!), INSERT와 마찬가지로 식별자에 NULL 값과
중복 값을 사용할 수 없고, 업데이트 할 내용이 컬럼의 자료형과 일치해야한다!

9.4 DELETE

  • 테이블에 있는 기존 데이터를 튜플(행) 단위로 삭제
[문법] DELETE FROM 테이블명 WHERE 삭제하고 싶은 행조건

[주의사항]

1. 자식 테이블이 존재하는 식별자(PRIMARY KEY) 컬럼은 단순한 삭제 불가능
2. 다중 행 삭제가 가능하므로 WHERE 문에 정확한 조건 입력해야한다. 
WHERE 뒤에 삭제할 행의 조건 지정 필요, WHERE문을 쓰지 않으면 모든 행 삭제
3. COMMIT 전에는 데이터 원상복구 가능

DELETE, TRUNCATE, DROP의 차이점


0개의 댓글