[DB] 데이터베이스의 언어

kjihye0340·2021년 5월 14일
0

db

목록 보기
2/4

데이터베이스의 언어는 크게 3가지로 나뉜다.
데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)

데이터 정의어(DDL)

데이터베이스 스키마 정의
CREATE, ALTER, DROP

CREATE

테이블 생성

CREATE TABLE TABLE_NAME(
    COL1 VARCHAR(10) +@,//+@ : CONSTRAINT
    COL2 INT +@,
    ...
)

CREATE 제약 조건

NOT NULL : NULL을 허용하지 않음
UNIQUE : 중복 값 비허용
PRIMARY KEY : 기본키 지정
FOREIGN KEY : 외래키 지정
CHECK : 특정 조건에 맞는 데이터만 입력
DEFAULT : 값이 입력되지 않을 때 기본값
INDEX : 인덱스 지정

ALTER

테이블 수정

컬럼 삭제

ALTER TABLE TABLE_NAME DROP COLUMN COL1

컬럼 추가

ALTER TABLE TABLE_NAME ADD COL1 VARCHAR(10) NULL

컬럼 속성 변경

ALTER TABLE TABLE_NAME ALTER COLUMN COL1 VARCHAR(20) NOT NULL

DROP

데이터베이스/테이블 삭제

데이터베이스 삭제

DROP DATABASE DATABASE1

테이블 삭제

DROP TABLE TABLE1

데이터 조작어(DML)

저장된 데이터 처리
SELECT, INSERT, DELETE, UPDATE

SELECT

조건에 맞는 튜플 검색

SELECT COL1 [AS COL] FROM TABLE_NAME [WHERE ###][ORDER BY ###]

INSERT

새로운 튜플 삽입

INSERT INTO TABLE_NAME (COL1, COL2, COL3) VALUES ("A", "B", "1")

DELETE

조건에 맞는 튜플 삭제

DELETE FROM TABLE_NAME WHERE COL1 = "B"

UPDATE

조건에 맞는 튜플 내용 변경

UPDATE TABLE_NAME SET COL1 = "C" [WHERE ###][ORDER BY ###][LIMIT ###]

데이터 제어어(DCL)

데이터베이스 트랜잭션 명시, 권한 부여 및 취소
주요 데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등 정의
COMMIT, ROLLBACK, GRANT, REVOKE

COMMIT

작업한 결과를 물리적 디스크로 저장하고, 조작 작업이 완료됨을 사용자에게 알려줌
ROLLBACK으로 복구 불가

COMMIT;

ROLLBACK

작업했던 내용을 원래의 상태로 복구하기 위한 명령어
COMMIT 하기 이전의 상태만 가능

ROLLBACK;

GRANT

사용자에 대한 권한 부여

GRANT 권한 종류 ON 대상 TO 계정명 IDENTIFIED BY 암호 [GRANT OPTION]

FLUSH privileges

EX) 모든 권한을 가진 계정 생성

GRANT ALL ON *.* TO test@localhost IDENTIFIED BY "pwpw"

FLUSH privileges

EX) 특정 데이터베이스 조회 권한을 가진 계정 생성

GRANT SELECT ON database_name.* TO test@localhost IDENTIFIED BY "pwpw"

FLUSH privileges

REVOKE

적용한 권한 해제

REVOKE insert, update, create ON database_name.table_name TO test@localhost

EX) 전체 권한 해제

REVOKE ALL ON database_name.table_name TO test@localhost

출처

https://jhnyang.tistory.com/307
https://121202.tistory.com/27
https://121202.tistory.com/37

0개의 댓글