Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- BFS
- 숫자 블록
- 쿠키
- 완전탐색
- 이분탐색
- 코드 계약
- spring event
- AWS
- prg 패턴
- branch 전략
- 셀러리
- 구현
- docker
- 디버깅
- 트랜잭샨
- 레디스 동시성
- 객체지향패러다임
- piplining
- gRPC
- 프로그래머스
- jwt 표준
- 카카오
- 검색어 추천
- 수신자 대상 다르게
- 좋은 코드 나쁜 코드
- 백준
- 알람 시스템
- 누적합
- 깊게 생각해보기
- 결제서비스
Archives
- Today
- Total
코딩관계론
SQL의 종류 본문
반응형
DML(Data Manipulation Language)
데이터베이스 내의 데이터를 조작하는 데 사용되는 명령어입니다
대표적인 명령어로는 select, update, delete, merge가 존재한다.
select * from A
update TABLE set COLUME = 값 where [조건]
delete from TABLE where [조건]
#ms-sql에서만 존재함
merege
DDL(Data Definition Language)
DDL 문은데이터베이스 개체를 생성, 변경 및 삭제하는 데 사용됩니다.
특이한 점은 DDL 수행한 후 Auto commit이 발생한다는 점입니다.
대표적인 명령어로는 create, alert, drop, truncat, rename가 존재한다.
CREATE TABLE (field type PRIMARY KEY, field type, field type)
#테이블 컬럼 추가
ALTER TABLE ADD field type
#테이블 컬럼 수정
ALTER TABLE MODIFY field type
#테이블 컬럼 삭제
ALTER TABLE DROP COLUMN field
DROP TABLE table-name
#table의 모든 내용을 삭제 단 데이터 형식은 유지됨 drop문과의 차이점
TRUNCATE TABLE table-name;
RENAME table_name TO new_table_name;
DCL(Datebase Control Language)
DCL은 데이터베이스에서 권한 부여 및 취소, 트랜잭션 제어 등과 같은 데이터베이스 관리를 위한 언어입니다.
주요 DCL 명령어로는 GRANT, REVOKE, COMMIT, ROLLBACK 등이 있습니다.
#GRANT: 특정 사용자나 롤(Role)에 대해 데이터베이스 객체에 대한 권한을 부여합니다.
GRANT 권한 ON 객체_유형 객체_이름 TO 사용자_이름;
#REVOKE: 특정 사용자나 롤(Role)에 대해 데이터베이스 객체에 대한 권한을 취소합니다.
REVOKE 권한 ON 객체_유형 객체_이름 FROM 사용자_이름;
#COMMIT: GRANT, REVOKE등의 변경 내용을 데이터베이스에 영구적으로 저장합니다
COMMIT;
#ROLLBACK: 트랜잭션의 변경 내용을 취소하고 이전 상태로 되돌립니다.
ROLLBACK;
TCL(DatTebase Control Language)
TCL은 데이터베이스에서 트랜잭션 관리를 위한 언어입니다.
주요 TCL 명령어로는 COMMIT, ROLLBACK, SAVEPOINT 등이 있습니다.
#COMMIT: 트랜잭션의 변경 내용을 데이터베이스에 영구적으로 저장합니다.
COMMIT;
#ROLLBACK: 트랜잭션의 변경 내용을 취소하고 이전 상태로 되돌립니다.
ROLLBACK;
#SAVEPOINT: 트랜잭션 내에서 저장점을 설정하여 특정 시점에서 변경 내용을 되돌릴 수 있습니다.
SAVEPOINT 저장점_이름;
DCL의 commit과 TCL의 commit이 다른점
TCL에서의 COMMIT은 트랜잭션 내에서 수행한 모든 변경 내용을 데이터베이스에 영구적으로 저장하는 명령어입니다. 즉, 데이터베이스에 대한 변경 작업을 완료하고 트랜잭션을 종료하는 역할을 합니다. DCL에서의 COMMIT은 데이터베이스 사용 권한을 부여하거나 취소하는 등의 데이터베이스 관리 작업에 대한 명령어로, 트랜잭션과는 직접적인 연관이 없습니다.
TCL commit의 예시
START TRANSACTION;
UPDATE employees SET salary = salary + 500 WHERE department = 'Sales';
COMMIT;
DCL commit의 예시
GRANT SELECT ON employees TO new_user;
COMMIT;
반응형
'DB > SQLD' 카테고리의 다른 글
sqld 합격 (0) | 2023.04.14 |
---|---|
데이터 모델링의 이해 (0) | 2023.03.14 |
Join (0) | 2023.01.25 |
[Database] 정규화(Normalization)이란? (0) | 2022.10.20 |
[Database] 엔터티(Entity)와 속성(Attribute) (0) | 2022.10.20 |