SQL DDL, DML, DCL {2023년05월24일}
데이터 정의 언어 DDL(Data Definition Language)
테이블이나 관계의 구조를 형성하는데 사용한다.
CREATE - 새로운 데이터베이스 관계(테이블) 뷰, 인덱스, 저장 프로시저 만들기
CREATE TABLE test (
ID INT
USERNAME INT
);
DROP - 이미 존재하는 데이터베이스 관계(테이블) 뷰, 인덱스, 저장 프로시저 삭제
# 테이블 전체가 사라진다.
drop table test;
ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경 RENAME의 역할
TRUNCATE - 관계(테이블)에서 데이터를 제거한다.(삭제시 복구 불가)
데이터 조작 언어 DML(Data Manipulation Language)
테이블에 데이터 검색, 삽입, 수정, 삭제하는데 사용한다.
SELECT - 검색
INSERT - 등록
UPDATE - 수정
DELETE - 삭제
데이터 제어 언어 DCL(Data Control Language)
데이터의 사용권한을 관리하는데 사용한다.
GRANT - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여한다.
GRANT resource, connect, dba to jslee;
Grant succeeded.
REVOKE - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈하거나 회수한다.
CONNET - 데이터베이스 또는 스키마에 연결하는 권한
SELECT - 데이터베이스에서 데이터를 검색할수 있는 권한
INSERT - 데이터베이스에서 데이터를 등록할 수 있는 권한
UPDATE - 데이터베이스의 데이터를 수정할 수 있는 권한
DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한
USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한
DELETE, TRUNCATE, DROP의 차이
DELETE - 데이터는 지워지지만 테이블 용량은 줄어들지 않는다. 원하는 데이터만 지울 수 있다. 잘못 삭제한 경우 데이터를 되돌릴 수 있다.
TRUNCATE - 삭제후 용량이 줄어들고 인덱스 등도 모두 삭제된다. 테이블이 삭제 되지는 않으나 데이터만 삭제한다. 선택해서 지울 수 없다. 복구가 불가능하다.
DROP - 테이블 전체를 삭제, 공간, 객체를 삭제한다. 복구가 불가능하다.