database/SQLD

[SQLD] SQL 문장들의 종류 - DML, DDL, DCL, TCL

sewonzzang123 2022. 2. 4.
반응형


SQL 문장들의 종류

명령어의 종류 명령어 설명
데이터 조작어
(DML : Data Manipulation Language)
SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE라고도 합니다.
INSERT
UPDATE
DELETE
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말합니다. 예를 들어 데이터를 테이블에 새로운 행을 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부릅니다.
데이터 정의어
(DDL : Data Definition Language)
CREATE
ALTER
DROP
RENAME
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부릅니다.
데이터 제어어
(DCL : Data Control Language)
GRANT
REVOKE
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라고 합니다.
트랜잭션 제어어
(TCL : Transaction Control Language)
COMMIT
ROLLBACK
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말합니다.

 

 

DDL

 

RENAME (테이블 이름 변경) / ALTER(테이블 수정)

ALTER 명령어는 테이블을 수정합니다. 컬럼을 추가한다거나 삭제, 속성을 변경해 줄 수 있습니다.

RENAME 명령어는 테이블의 이름을 변경하는 명령어입니다. ALTER 명령어와의 차이점은 한번에 다수의 테이블을 변경 할 수 있습니다. 그리고 RENAME 명령어는 테이블을 다른 데이터베이스로 이동시킬 수도 있습니다.

 

제약조건 (Constraint)

무결성을 지키기 위해서 사용

제약조건의 종류

1. Unique Key (고유 키) : 중복되지 않는 키

2. Primary Key (기본 키) : 중복되지 않으면서 Null 값이 없는 키 ( Unique Key & Not Null)

3. Foreign Key (외래 키) : 기본 키를 가져와서 쓰는 키

4. Not Null

5. Check : 입력값이 조건에 맞는지 확인

 

NULL : ASCII 코드 00번

공백 (Blanck, ASCII 코드 32번)이나 숫자 0 (ZERO, ASCII 코드 48번)과는 다른 값이며, 조건에 맞는 데이터가 없을 때의 공집합과도 다릅니다.

'NULL'은 '아직 정의되지 않은 미지의 값' 이거나 '현재 데이터를 입력하지 못하는 경우'를 의미합니다.

 

테이블 칼럼에 대한 정의변경

ALTER TABLE 테이블명 (ALTER / ADD / DROP) ...

(수정 할 때 : ALTER TABLE 테이블명 ALTER COLUMN (컬럼명 데이터유형 [Default식][Null], ....))

 

DML

 

As-Is : 비절차적 데이터 조작어(Nonprocedural DML)은 사용자가 무슨(What) 데이터를 원하는 지만을 명세합니다.

To-Be : 비절차적 데이터 조작어(Nonprocedural DML)은 사용자가 무슨(What) 데이터를 원하는 지만을 명세하지만, 절차적 데이터 조작어(Procedural DML)는 어떻게 (How) 데이터를 접근해야 하는지 명세 합니다. 절차적 데이터 조작어로는 PL/SQL(오라클), T-SQL(SQL Server)등이 있습니다.

 

 

DCL

 

GRANT (권한부여) / REVOKE (권한회수)

GRANT 명령어는 사용자에게 접속권한, 오브젝트 생성권한, DBA권한 등을 부여할 수 있는 명령어 입니다.

REVOKE 명령어는 사용자에게 부여한 권한을 다시 회수하는 명령어 입니다.

 

TCL

 

반응형

댓글