티스토리 뷰

데이터베이스/SQL

[SQL] SQL 기본 (DDL)

Reference M1 2019. 3. 28. 23:18

DDL(Data Definition Language)


데이터 정의 언어, 데이터 정의어, 데이터 기술 언어로 주로 테이블의 생성, 수정, 삭제를 할 수 있는 명령어이다.

CREATE, DROP, ALTER, RENAME

Auto Commit 적용

1. 테이블 생성
CREATE TABLE USER(
    USER_ID CHAR(7) NOT NULL,
    USER_NAME VARCHAR2(20) NOT NULL,
    ORG_ID CHAR(6) NOT NULL,
    TEL_NO NUMBER(11),
    CONSTRAINT USER_PK PRIMARY KEY (USER_ID),
    CONSTRAINT USER_FK FOREIGN KEY (ORG_ID) REFERENCES TEAM(ORG_ID)
);
// 대소문자 구분 안함
CONSTRAINT 문으로 제약조건 명시
- 제약조건 종류
PRIMARY KEY : 기본키, 고유키면서 NOT NULL
UNIQUE KEY : 고유키지만 NULL값이 들어갈 수 있음
NOT NULL : NULL 값의 입력을 금지함, 해당 칼럼은 필수 입력
FOREIGN KEY : 외래키, 다른 테이블 칼럼 참조
 
CREATE TABLE USER_TEMP
AS SELECT * FROM USER;
// SELECT 문으로 테이블 생성
 
2. 테이블 변경
ALTER TABLE USER
ADD (ADDRESS VARCHAR2(80));
// ADD 로 칼럼 추가
 
ALTER TABLE USER
DROP COLUMN ADDRESS;
// DROP 으로 칼럼 삭제
 
ALTER TABLE USER_TEMP
MODIFY (ORG_ID VARCHAR2(8) DEFAULT '00000000' NOT NULL);
// MODIFY 로 USER_TEMP 테이블의 ORG_ID 칼럼의 데이터 유형을 VARCHAR2(8)로 변경하고 향후 입력되는 값을 DEFAULT 값으로 '00000000' 으로 변경
 
ALTER TABLE USER
RENAME COLUMN USER_ID TO USER_ID;
// RENAME 으로 컬럼 명 변경
 
ALTER TABLE USER
DROP CONSTRAINT USER_FK;
// DROP CONSTRAINT 로 제약조건 삭제
 
ALTER TABLE USER
ADD CONSTRAINT USER_FK
FOREIGN KEY (ORG_ID) REFERENCES TEAM(ORG_ID);
// ADD CONSTRAINT 로 제약조건 추가
 
3. 테이블명 변경
RENAME USER TO USER_BACKUP;
// 테이블명 변경
 
4. 테이블 삭제
DROP TABLE USER;
// 테이블 삭제 명령 옵션으로 CASCADE CONSTRAINT 적용가능(외래키를 참조하는 제약조건에 대해서도 삭제)
 
5. 테이블 내용 삭제
TRUNCATE TABLE USER;
// 테이블의 레코드만 삭제(테이블 초기화)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함