DDL, DML, DCL

RNR·2022년 10월 29일
0

SQL

목록 보기
4/17

DDL

DDL, 데이터 정의어.
테이블의 구조 자체를 생성, 수정, 제거하도록 하는 명령문 집합.
테이블을 생성하기 위해서는 테이블명을 정의하고, 테이블을 구성하는 컬럼의 데이터 타입과 제약 조건을 정의해야함.

문자로 시작해야하며 30자 이내
문자, 숫자, 특수문자(_$#)만 사용가능
대소문자 구별X 소문자로 저장하려면 작은따옴표로 묶어주어야 함
동일 사용자가 소유한 다른 객체의 이름과 중복되지 않아야 함

CREATE

CREATE TABLE 이름(COLUMN_NAME 성격 규정)

CREATE TABLE DEPT01(
	DEPTNO NUMBER(4),
    DNAME VARCHAR2(10),
    LOC VARCHAR2(9)
);

💡 테이블이 생성되었는지 확인할 때,
desc[ribe] 명령어 실행

ALTER

기존의 테이블을 변경할 때 사용한다.
1) 컬럼이 추가해야 할 때
2) 컬럼의 타입/길이를 변경해야 할 때
3) 컬럼을 제거애야하여 테이블의 구조를 변경해야 할 경우

- 컬럼 추가

ALTER TABLE DEPT01
ADD(DNAME VARCHAR2(10))

- 컬럼 변경

ALTER TABLE DEPT01
MODIFY(DNAME VARCHAR2(30))

- 컬럼 제거

ALTER TABLE DEPT01
DROP COLUMN (column_name);

SET UNUSED

시스템의 요구가 적을 때 컬럼을 제거할 수 있도록 하나 이상의 컬럼을 UNUSED로 표시. 실제로 테이블에서 해당 컬럼이 제거되지는 않는다.
실제 DROP 명령을 실행하는 데 걸리는 시간보다 응답 시간이 빨라짐.
SELECT, DESCRIBE 문으로는 액세스/표시가 안 된다!

RENAME

테이블의 이름을 변경할 때 사용한다.
A에서 B로 바꿀 수 있다.
RENAME A TO B;

RENAME DEPT01 TO DEPT02;

TRUNCATE

테이블의 모든 내용을 제거
TRUNCATE TABLE DEPT02;

DROP

기존의 테이블을 삭제
DROP TABLE A

DROP TABLE DEPT02;

DML

데이터 조작어(Data Manipulation Language).
주로 질의어. 저장된 데이터를 조작하는데에 쓴다.
행과 열, 레코드를 조회하거나 수정/삭제 함.
테이블에 새로운 데이터를 삽입하거나, 기존의 데이터를 수정, 삭제하기 위한 명령어의 집합이다.

- INSERT

테이블에 데이터를 입력하기 위한 명령어.

INSERT INTO table_name
(column_name, ... ... )
VALUES(column_value, ... ...);

이 때, 기술된 목록의 수와 VALUES 다음에 나오는 괄호에 기술한 값의 개수가 같아야 함.
문자나 날짜 타입에 대해서는 공백 문자열('') 지정이 가능하다.

INSERT INTO절에서 컬럼명과 값 지정을 생략하면 생략된 컬럼에 대해서는 null 값이 입력된다.

-- column: deptno, dname, loc
INSERT INTO dept01
(deptno, dname)
VALUES(30, '영업부');

날짜 같은 경우에는 `'YYYY/MM/DD'와 같은 형식으로 입력해야함.

- SELECT

원하는 집합(결과)를 정의(묘사)하는 언어.
검색, 조회, 질의, 데이터를 가져오는 것.

SELECT 

- UPDATE

테이블에 저장된 데이터를 수정하기 위한 DML. WHERE 절을 생략하면 테이블에 있는 모든 행이 수정된다.

UPDATE table_name
SET column_name1 = value 1, column_name2 = value2, ...
WHERE conditions;

- DELETE

DELETE \[FROM] table_name
WHERE conditions;

DCL

데이터 제어어.
데이터베이스에 접근, 객체 권한 부여 등의 역할을 하는 언어
데이터의 보안, 무결성, 회복 등을 맡음.

  • GRANT : 사용자에게 권한 부여 (그러니 TO!)
GRANT 권한
ON 테이블
TO 유저

-- 부모를 회수하면, 자식도 회수 됨.
WITH GRANT OPTION 

-- 테이블에 대한 모든 권한 부여.
WITH ADMIN OPTION 

GRANT CREATE SESSION TO ORAUSER01;

  • REVOKE : 사용자로부터 권한 회수 (그러니 FROM!)
REVOKE 권한
ON 테이블
FROM 유저

ROVOKE CREATE SESSION FROM ORAUSER01;


TCL

- COMMIT

DML 작업이 성공적으로 처리되도록.

COMMIT;

- ROLLBACK

작업을 취소

ROLLBACK;
profile
개인적 공부 기록. 그때그때 메모합니다.

0개의 댓글