INSERT
INSERT INTO 테이블명 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
INSERT INTO 테이블명 VALUES(전체 COLUMN에 넣을 VALUE_LIST)
UPDATE
UPDATE 테이블명 SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값;
DELETE
DELETE FROM 삭제를 원하는 정보가 들어있는 테이블명 WHERE 조건절;
- 사용자 Commit
SELECT
SELECT 칼럼명 FROM 테이블;
TCL(Transaction Control Language)
- 커밋(COMMIT) : 올바르게 반영된 데이터를 데이터베이스에 반영시키는 것,
Oracle은 DML문장 수행 후 사용자가 임의로 COMMIT 또는 ROLLBACK 수행해줘야 함,
SQL 서버는 기본적으로 AUTO COMMIT
- 롤백(ROLLBACK) : 트랜잭션 시작 이전의 상태로 되돌리는 것,
테이블 내 입력한 데이터나, 수정한 데이터, 삭제한 데이터에 대하여 COMMIT 이전으로 되돌려 변경 사항을 취소할 수 있는데 데이터베이스에서는 롤백(ROLLBACK) 기능을 사용한다.
- 저장점(SAVEPOINT) : 저장점 기능,
저장점을 정의하면 롤백 할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT 까지 트랜잭션의 일부만 롤백할 수 있다.
트랜잭션
- 트랜잭션 : 데이터베이스의 논리적 연산 단위
- 트랜잭션은 데이터베이스의 논리적 연산 단위이다. 트랜잭션(TRANSACTION)이란 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 가리킨다. 하나의 트랜잭션에는 하나 이상의 SQL문장이 포함된다.
- 트랜잭션은 분할할 수 없는 최소의 단위이다. 그렇기 때문에 전부 적용하거나 전부 취소한다.
- 트랜잭션 특성 : 원자성, 일관성, 고립성, 지속성
트랜잭션에 대한 격리성이 낮은경우 발생할 수 있는 문제점
1) Dirty Read : 다른 트랜잭션에 의해 수정되었지만 아직 커밋되지 않은 데이터를 읽는 것
2) Non-Repeatable Read : 한 트랜잭션 내에서 같은 쿼리를 두번 수행했는데, 그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하는 바람에 두 쿼리 결과가 다르게 나타나는 현상
3) Phantom Read : 한 트랜잭션 내에서 같은 쿼리를 두번 수행했는데 첫번째 쿼리에서 없던 유령 레코드가 두번째 쿼리에서 나타나는 현상을 말한다.
'SQLD' 카테고리의 다른 글
SQLD 개념정리 (JOIN) (0) | 2023.11.05 |
---|---|
SQLD 개념정리 (함수) (0) | 2023.11.05 |
SQLD 개념정리 (관계형 데이터베이스 개요, DDL) (0) | 2023.10.30 |
SQLD 개념정리 (데이터 모델링의 이해)2 (0) | 2023.10.25 |
SQLD 개념정리 (데이터 모델링의 이해, 정규화, 반정규화) (0) | 2023.10.24 |