SQLD자격증공부/SQL기본

DDL, Create table, Alter, Drop, Truncate, View

김옹희 2023. 5. 8. 16:21

1. DDL

  • 테이블 또는 데이터베이스내 객체등의 구조를 정의하는 명령.
  • 구조를 생성하거나 변경 또는 삭제 할 때 사용하는 명령.
CREATE 데이터베이스의 객체를 생성
ALTER 생성된 객체의 구조를 변경
DROP 생성된 객체를 제거
TRUNCATE 테이블의 모든 데이터 삭제 및 초기화, 저장공간 반납

2. Create table

  • 테이블을 생성하는 DDL문.
  • Primary key, foreign key, check 등 제약조건 정의 가능.
  • 컬럼 및 데이터 타입 정의.
CREATE TABLE EMPLOYEE_SALARY_D
(
      ID      VARCHAR2(10) NOT NULL PRIMARY KEY,
      EMPLOYEES_ID      VARCHAR2(10) NOT NULL REFERENCES EMPLOYEES (ID),
      NAME      VARCHAR2(100),
      BONUS_TYPE      VARCHAR2(3),
      SALARY      NUMBER,
      BONUS      NUMBER,
      REG_DT      DATE);

3. Alter

  • 테이블이나 컬럼의 구조를 변경하는 명령.
  • 제약조건을 추가 하거나 삭제 하는 명령.
alter table EMPLOYEE_SALARY_D rename column NAME to EMPLOYEE_NAME;

alter table EMPLOYEE_SALARY_D modify BONUS_TYPE VARCHAR2(5) not null;

alter table EMPLOYEE_SALARY_D drop primary key;

alter table EMPLOYEE_SALARY_D add constraint EMPLOYEE_SALARY_D _EMPLOYEES_EMPLOYEE_ID_FK
                 foreign key (ID) references EMPLOYEES (EMPLOYEE_ID);

4. Drop

  • 테이블이나 특정 객체를 삭제하는 명령.
  • 테이블내 데이터와 구조를 삭제한다.
  • Cascade constraint 옵션은 종속된 제약조건도 모두 삭제함
Drop table 테이블명 (cascade constraint);

5. Truncate

  • 테이블 구조는 남겨두고 내부의 데이터, 행만 삭제하는 명령어.
  • 테이블이 차지하던 저장공간을 반납한다.
Truncate table 테이블명;

6. View

  • 뷰는 실제 데이터를 가지고 있지 않음.
  • Select SQL만 가지고 있다고 생각하면 됨.
  • 참조된 테이블이 변경되면 뷰의 결과도 변경 됨.
Create view 뷰명 as
select * from 테이블명 where....;
장점 보안에 적합하다.
단순하게 불러 올 수 있다.
하나의 테이블로 여러 결과를 가진 뷰를 생성 할 수 있다.
단점 삽입, 갱신, 동 연산이 제한적이다.
데이터 구조를 쉽게 변경 할 수 없다.
인덱싱 하기 어렵다.