728x90
SQL기본 - 명령어
SQL문장들의 종류
1. DML / 데이터 조작어
- 비 절차적 데이터 조작어이며, 사용자가 무슨 데이터를 원하는지 명세하는 언어
SELECT | - DB에 들어있는 데이터를 조회/검색하는 명령어 - DISTINCT와 함꼐사용하는 경우 중복제거된 결과물이 출력 - ALIAS를 사용하여 별명부여 가능 |
ex) SELECT 컬럼명 FROM 테이블명 |
INSERT | - 새로운 행을 집어 넣을 때 사용 | ex) INSERT INTO 테이블명 |
UPDATE | - 데이터 수정 | ex) UPDATE 테이블명 SET 수정될이름 |
DELETE | - 데이터 삭제 | ex) DELETE FROM 테이블 명 |
2. DDL / 데이터 정의어 (T-CARD)
CREATE | 테이블 구조 생성 |
ALTER | 테이블 변경 |
DROP | 테이블 삭제 |
RENAME | 이름 변경 |
TRUNCATE | 삭제 - 테이블 자체가 삭제되는 것은 아니고 들어있던 데이터가 삭제 , 공간재사용 가능 |
** 데이터 삭제와 관련된 명령어 비교
구분 | 종류 | 삭제방식 | 비고 |
DELETE | DML | 모든 데이터 삭제되나 로그를 남길 수 있음 테이블은 남아있음 |
시스템 부하 많음 복구가능 ( 로그때문에 ) |
DROP | DDL | 모든 데이터 및 테이블 구조도 삭제됨 | 테이블 정의 자체 삭제 복구불가 |
TRUNCATE | DDL | 모든 데이터가 삭제되나 테이블 구조 남음 | 초기상태로 만듬 복구불가 |
3. DCL / 데이터 제어어
GRANT | 데이터 베이스에 접근하는 권한 부여 |
REVOKE | 접근권한 회수 |
4. TCL / 트랜잭션 제어어
COMMIT | 완료(저장)의 의미, DB에 작업을 반영 ROLLBACK의 영향 받지 않음 |
ROLLBACK | 작업을 되돌리는 명령어 |
SAVEPOINT | 작업을 저장하는 명령어이며 저장점 ROLLBACK의 영향 받지 않음 |
트랜잭션의 특징 (ACID)
- 트랜잭션은 DB의 논리적 연산 단위이며 분리될 수 없는 한개 이상의 DB조작을 가리킴
- 하나의 트랜잭션에는 하나 이상의 SQL문장이 포함되며, 분할할 수 없는 최소의 단위
원자성(Atomicity) | 트랜잭션으로 정의된 연산들은 모두 성공적으로 실행되거나 전혀 실행되지 않아야 함 |
일관성(Consistency) | 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면, 실행후에도 내용에 잘못이 있으면 안됨 |
고립성(Isolation) | 실행 도중 다른 트랜잭션의 영향을 받아선 안됨 |
지속성(Durability) | 성공적으로 트랜잭션이 수행되면 그 내용은 영구적으로 저장됨 |
728x90
'DB > SQLD' 카테고리의 다른 글
[SQLD] 데이터 모델과 성능 (0) | 2022.05.08 |
---|---|
[SQLD] 정규화, 반정규화 (0) | 2022.05.08 |
[SQLD] 데이터모델링 3요소 + 식별자 (0) | 2022.05.07 |
[SQLD] 데이터모델링의 이해 (0) | 2022.05.05 |
댓글