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 |