wms's Programming&Study

[SQLD - PART2] 1. SQL 기본 - ③ SQL 종류 본문

데이터베이스/SQL Developer

[SQLD - PART2] 1. SQL 기본 - ③ SQL 종류

wms2275 2020. 7. 4. 13:44

1) 테이블 생성

- 기본적인 테이블 생성

CREATE TABLE EMP(
    EMPNO NUMBER(10) PRIMARY KEY,
    ENAME VARCHAR2(30),
    SAL	  NUMBER(6)
);

* 데이터 타입 - NUMBER는 숫자형 타입 / VARCHAR2는 가변길이 문자열 / CHAR는 고정되 크기의 문자 / DATE는 날짜형

* 기본키 지정은 칼럼옆에 PRIMARY KEY를 입력한다.

 

* 테이블의 구조 확인

DESC EMP;

 

- 제약조건 사용

* CONSTRAINT - 기본키 지정 ex)  CONSTRAINT EMPPK PRIMARY KEY(EMPNO, ENAME)

* NUMBER(10, 2) - 소수점 둘째 자리까지 저장

* 기본값을 지정 ex) SAL NUMBER DEFAULT 0

* 외래키 지정 - 먼저 마스터 테이블 생성

CREATE TABLE EMP(
    EMPNO NUMBER(10) PRIMARY KEY,
    ENAME VARCHAR2(30),
    SAL	  NUMBER(6)
    CONSTRAINT DEFTFK FOREIGN KEY (DEPTNO)
    	REFERENCES DEPT(DEPTNO)
);

 

- CASCADE 사용

테이블 생성시 CASCADE 사용시 참조되는 데이터도 자동으로 삭제

→ 참조 무결성 준수

CREATE TABLE EMP(
    EMPNO NUMBER(10) PRIMARY KEY,
    ENAME VARCHAR2(30),
    SAL	  NUMBER(6)
    CONSTRAINT D_FK FOREIGN KEY (DEPTNO)
    	REFERENCES DEPT(DEPTNO)
        ON DELETE CASCADE
);

 

2) 테이블 변경

- 테이블명 변경

ALTER TABLE EMP RENAME TO NEW_EMP;

 

- 칼럼 추가

ALTER TABLE EMP ADD (AGE NUMBER(2) DEFAULT 1);

 

- 칼럼 변경

ALTER TABLE EMP MODIFY (ENAME VARCHAR2(40) NOT NULL);

타입변경시 기존데이터에 영향이 있는 경우 에러 발생

 

- 칼럼 삭제

ALTER TABLE EMP DROP COLUMN AGE;

 

- 칼럼명 변경

ALTER TABLE EMP RENAME COLUMN ENAME TO NEW_ENAME;

 

3) 테이블 삭제

DROP TABLE EMP;

테이블의 구조와 데이터 모두 삭제된다

DROP TABLE EMP CASCADE CONSTRAINT;

CASCADE CONSTRAINT를 쓰면 참조된 제약사항도 모두 삭제

 

4) 뷰 생성과 삭제

 

 

 

 

< 참고자료 >