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....; |
장점 | 보안에 적합하다. 단순하게 불러 올 수 있다. 하나의 테이블로 여러 결과를 가진 뷰를 생성 할 수 있다. |
단점 | 삽입, 갱신, 동 연산이 제한적이다. 데이터 구조를 쉽게 변경 할 수 없다. 인덱싱 하기 어렵다. |