자격증들/23) SQLD, SQLP

SQLD 3.1 - DDL(DATA DEFINITION LANGUAGE)

tonyhan18 2023. 5. 31. 21:40
728x90

DDL 강의

CHAR(13) 했는데 12자리만 채우면 나머지는 공백으로 채워짐

VARCHAR(50) 하면 정확한 공간 맞추어줌

 

 

DROP TABLE SQLD.TB_DEPT_TEMP PURGE;

CREATE TABLE SQLD.TB_DEPT_TEMP
(
	DEPT_CD CHAR(6) NOT NULL,
	DEPT_NM VARCHAR2(150) NOT NULL,
	UPPER_DEPT_CD CHAR(6)
);

ALTER TABLE SQLD.TB_DEPT_TEMP ADD CONSTRAINT PK_TB_DEPT_TEMP PRIMARY KEY (DEPT_CD);

테이블을 만들어보자

ADD CONSTRAINT로 PK값은 DEPT_CD로 설정

 

DROP TABLE SQLD.TB_EMP_TEMP PURGE; 
CREATE TABLE SQLD.TB_EMP_TEMP
(
       EMP_NO CHAR(10) NOT NULL
     , EMP_NM VARCHAR2(150) NOT NULL
     , BIRTH_DE CHAR(8) NOT NULL
     , LUNAR_YN CHAR(1) NOT NULL
     , SEX_CD CHAR(3) NOT NULL
     , ADDR VARCHAR2(1000) NOT NULL
     , TEL_NO VARCHAR2(150) NOT NULL
     , FINAL_EDU_SE_CD CHAR(3) NOT NULL
     , SAL_TRANS_BANK_CD CHAR(3) NOT NULL
     , SAL_TRANS_ACCNT_NO VARCHAR2(20) NOT NULL
     , DIRECT_MANAGER_EMP_NO CHAR(10)
     , DEPT_CD CHAR(6) NOT NULL
);

ALTER TABLE SQLD.TB_EMP_TEMP ADD CONSTRAINT PK_TB_EMP_TEMP PRIMARY KEY(EMP_NO);
ALTER TABLE SQLD.TB_EMP_TEMP ADD CONSTRAINT FK_TB_EMP_TEMP_01 FOREIGN KEY (DEPT_CD) REFERENCES SQLD.TB_DEPT_TEMP (DEPT_CD);
---

fk 는 보면 알겠지만 다수를 참조하는 쪽이 소수가 참조되는 쪽의 키 값을 FK 로 받아온다.

 

--- ADD 시 반드시 (괄호) 쳐 주어야 함
ALTER TABLE SQLD.TB_EMP_TEMP ADD (MARRIED_YN CHAR(1));
ALTER TABLE SQLD.TB_EMP_TEMP DROP COLUMN MARRIED_YN;

---
ALTER TABLE SQLD.TB_EMP_TEMP ADD (MARRIED_YN CHAR(1));
ALTER TABLE SQLD.TB_EMP_TEMP MODIFY(MARRIED_YN CHAR(1) DEFAULT 'N' NOT NULL NOVALIDATE);
--- DEFAULT 는 N, NOT NULL, 과거 데이터 상관없이 이제부터 N으로 데이터 저장
ALTER TABLE SQLD.TB_EMP_TEMP DROP COLUMN MARRIED_YN;

--- COLUMN 명 생성과 변경
CREATE TABLE SQLD.TB_EMP_TEMP_2
AS SELECT * FROM SQLD.TB_EMP_TEMP;

ALTER TABLE SQLD.TB_EMP_TEMP_2 
RENAME COLUMN TEL_NO TO PHONE_NO;

ALTER TABLE SQLD.TB_EMP_TEMP_2 
RENAME COLUMN PHONE_NO TO TEL_NO;

-- FK 드랍
ALTER TABLE SQLD.TB_EMP_TEMP DROP CONSTRAINT FK_TB_EMP_TEMP_01;
ALTER TABLE SQLD.TB_EMP_TEMP ADD CONSTRAINT FK_TB_EMP_TEMP_01 FOREIGN KEY(DEPT_CD) REFERENCES SQLD.TB_DEPT_TEMP (DEPT_CD);

RENAME TB_EMP_TEMP_2 TO TB_EMP_TEMP_3;
TRUNCATE TABLE TB_EMP_TEMP_2;

 

https://yurimac.tistory.com/34

 

SQL) DROP vs TRUNCATE vs DELETE 차이 비교

DROP, TRUNCATE, DELETE는 모두 삭제하는 명령어이지만 차이가 있습니다. 한눈에 알아보기 쉽게 표로 정리해 보았습니다. 😀 DROP TRUNCATE DELETE 종류 DDL DDL (일부 DML 성격) DML COMMIT AUTO COMMIT AUTO COMMIT 사용

yurimac.tistory.com

 

 

DML(Data Manipulation Language)

 

728x90