본문 바로가기
DB/SQLD

[SQLD] SQL기본 - 명령어

by 댕꼬 2022. 5. 13.
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

댓글