INSERT

-  기존 데이터베이스에 새로운 데이터를 삽입하는 연산
INSERT INTO table-name [(col-name, [,col-name]…)]
VALUES (constant [, constant] …);

ex) 
insert into a_enrol(sub_no, stu_no, enr_grade)
values(108, 20151062, 92);

 UPDATE

- 기존의 데이터 값을 변경하는 연산으로 UPDATE 명령이 있음.
- 조건절을 만족하는 테이블의 열의 값을 SET 절에 있는 내용의 수식으로 변경됨. 이 때 WHERE절에 부질의도 가능.
UPDATE tavle-name
SET col-name = expression, [col-name = expression]
[WHERE predicate]

ex)
update a_enrol
set enr_grade = enr_grade + 5
where sub_no = 101;

 DELETE

- 기존 데이터베이스의 데이터를 삭제하는 연산.
- 조건절을 만족하는 테이블 내의 모든 데이터를 삭제하며, 조건절이 없는 경우 테이블의 모든 데이터를 삭제.
DELETE FROM table-name
[WHERE predicate]

ex)
delete from a_enrol
where stu_no = 20131001;

 MERGE

- 데이터의 이동 작업을 할 경우 유용하게 이용됨.
- USING 절의 테이블에 행이 존재하면 UPDATE 문을 존재하지 않으면 INSERT 문을 실행.

트랜잭션(Transaction)

- 사용자에 의해 실행된 SQL 문의 집합을 의미.
- 트랜잭션 처리는 데이터 무결성을 유지하기 위해 필요함.
- DML 문의 한 번 이상 실행이 하나의 트랜잭션이 되며, DDL 문은 하나의 명령이 하나의 트랜잭션이 됨.

 COMMIT / ROLLBAC

- COMMIT : 변경사항 저장
- ROLLBACK : 변경사항 취소

 병행 처리

- 하나의 데이터를 2개 이상의 프로그램(프로세스)에서 공유할 때 발생하는 문제.
- 한 프로그램이 한 테이블에 대해 변경 작업을 할 때 그 작업의 트랜잭션이 종료되지 않았다면.
다른 프로그램에서 변경된 데이터를 확인할 수 없음.

 데이터 로킹(Lock)

- 병행 처리의 문제점을 해결하기 위한 하나의 기법