티스토리 뷰

DB

8. DML (Data Manipulation Language)

prprme 2020. 11. 23. 00:00

DML (Data Manipulation Language)

 

DML

- 데이터를 조작하는 명령어

- SELECT, INSERT, UPDATE, DELETE

- 최종적으로 데이터베이스에 반영하려면 commit을 해야함 (COMMIT;)

 

데이터 삽입 | INSERT

INSERT INTO department (department_id, department_name, manager_id, location_id) 
     VALUES (271, 'Sample_Dept', 200, 1700);
INSERT INTO department VALUES (272, 'Sample_Dept', 200, 1700) 

 

- 테이블 명 다음에 열 순서를 나열하고 순서대로 삽입할 값을 나열 or 테이블 명 다음에 바로 삽입할 값을 정의도니 열 순서대로 나열

- 명확히 하기 위해서 전자를 권장

- 제약 조건에 위배되면 오류 발생

   = Data type, Nullable, Key값 중복 등

 

INSERT INTO department VALUES (271, Sample_Dept, 200, 1700);

- 열의 데이터 타입과 맞지 않으면 오류 발생 (text type : Sample_Dept <-> 'Sample_Dept')

INSERT INTO department VALUES (null, 'Sample_Dept', 200, 1700);

- NULL 이 허용되지 않는 칼럼에 NULL을 삽입하면 오류 발생

 

데이터 갱신 | UPDATE

UPDATE department
   SET manager_id = 201,
	   location_id = 1800
 WHERE department_name = 'Sample_Dept';

- WHERE 조건에 부합하는 행을 수정함

- 제약 조건에 위배되면 오류 발생

 

데이터 삭제 | DELETE

 DELETE FROM department
       WHERE department_name = 'Sample_Dept';

- WHERE 조건에 부합하는 행을 삭제함

 

데이터 베이스에 반영 | COMMIT

COMMIT;

- Auto Commit 설정되어 있는 경우가 많으나, 위험할 수 있음 (Auto Commit 해제)

- DML이 잘못 작업되었을 땐, RollBack 해서 되돌려야 함.

'DB' 카테고리의 다른 글

10. 트랜잭션  (0) 2020.11.24
9. 데이터 무결성과 제약 조건  (0) 2020.11.23
7. 서브 쿼리  (0) 2020.11.18
6. 집합 연산자  (0) 2020.11.18
5. JOIN  (0) 2020.11.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함