본문 바로가기
SQL

관리 구문 DDL과 DCL

by 피갓자 2025. 3. 11.

관리 구문 DDL과 DCL
관리 구문 DDL과 DCL

DDL

데이터 정의 언어(DDL, Data Definition Language)로 데이터를 담는 그릇을 정의하는 명령어

CREATE

테이블을 생성하는 명령어

CREATE TABLE 테이블명
(
컬럼명1 데이터타입 [제약조건],
...
);
  • 테이블명은 고유해야 함
  • 한 테이블 내에서 컬럼명은 고유해야 함
  • 컬럼명 뒤에 데이터 유형과 데이터 크기가 명시되어야 함
  • 컬럼에 대한 정의는 괄호( )안에 기술함
  • 각 컬럼은 ,(콤마)로 구분함
  • 테이블명과 컬럼명은 숫자로 시작될 수 없음
  • 마지막은 ;(세미콜론)으로 끝남

CREATE TABLE 제약조건

  • PRIMARY KEY(기본 키) : 테이블의 기본 키 정의, 유일하게 테이블의 각 행을 식별
  • FOREIGN KEY(외래 키) : 테이블의 외래 키 정의, 참조 대상을 테이블(컬럼명)로 명시, 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정
  • UNIQUE : 테이블 내에서 얻은 유일한 값을 갖도록 하는 제약조건
  • NOT NULL : 해당 컬럼은 NULL 값을 포함하지 않도록 하는 제약조건
  • CHECK : 개발자가 정의하는 제약조건으로 참(TRUE)이어야 하는 조건을 지정
  • DEFAULT : 데이터를 INSERT 할 때 해당 컬럼의 값을 넣지 않는 경우 기본값으로 설정해 주는 제약조건

ALTER

테이블을 수정하는 명령어

  • ALTER TABLE 컬럼 추가
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [제약조건];
  • ALTER TABLE 컬럼 수정
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 [제약조건];
  • ALTER TABLE 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
  • ALTER TABLE 컬럼명 변경
ALTER TABLE 테이블명 RENAME COLUMN 변경할 컬럼명 TO 변경할 이름;
  • ALTER TABLE 제약조건 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건(컬럼명);

DROP

테이블을 삭제하는 명령어

DROP TABLE 테이블명 [CASCADE CONSTRAINT];

-- CASCADE CONSTRAINT : 참조 제약조건도 함께 삭제하는 옵션

TRUNCATE TABLE

테이블 내의 데이터들을 삭제하는 명령어

TRUNCATE TABLE 테이블명;

DCL

데이터 제어 언어(DCL, Data Control Language)로 USER를 생성하고 USER에게 데이터를 컨트롤할 수 있는 권한을 부여하거나 회수하는 명령어

USER 관련 명령어

  • USER 생성
CREATE USER 사용자명 IDENTIFIED BY 패스워드;
  • USER 변경
ALTER USER 사용자명 IDENTIFIED BY 패스워드;
  • USER 삭제
DROP USER 사용자명;

권한 관련 명령어

  • 사용 권한 부여
GRANT 권한 TO 사용자명;
  • 사용 권한 회수
REVOKE 권한 FROM 사용자명;

ROLE 관련 명령어

ROLE이란 특정 권한들을 하나의 세트로 묶는 것

  • ROLE 생성
CREATE ROLE 롤명;
  • ROLE에 권한 부여
GRANT 권한 TO 롤명;
  • ROLE을 사용자에게 부여
GRANT 롤명 TO 사용자명;

'SQL' 카테고리의 다른 글

관리 구문 DML과 TCL  (0) 2025.03.10
SQL 활용 기타 기법  (0) 2025.03.09
SQL 활용 그룹 함수와 윈도우 함수  (0) 2025.03.08
SQL 활용 서브쿼리와 집합 연산자  (0) 2025.03.07
SQL 기본 SELECT 문 조건 절  (0) 2025.03.06