본문으로 바로가기

DDL

category Database 2018. 4. 19. 10:11

DDL (Data Definition Language)

-데이터베이스 객체들을 생성, 변경, 제거 할 때 사용

-테이블 기준

-명령어

 CREATE : 테이블 생성

 ALTER : 테이블 구조 변경

 DROP : 테이블 삭제

 RENAME : 테이블 이름 변경

 TRUNCATE : 테이블의 모든 내용 제거

 

CREATE : 테이블 생성

 

기본 형태

CREATE TABLE 테이블 이름 (컬럼이름 타입(), 컬럼이름 타입()...);

 

테이블 복사

 

기본 형태

 

 (테이블 전체 다 복사)

1
CREATE TABLE 복사할 테이블명 AS SELECT * FROM 기존 테이블명;
cs

 

(입력한 컬럼만 복사한채로 테이블복사)

1
CREATE TABLE 복사할 테이블명 AS SELECT 컬럼 FROM 기존 테이블명 where 0=1;
cs

 -where0=1이 거짓이므로 데이터없이 컬럼만 복사가 된다. 0=1 대신 거짓이 되는 조건 아무거나 상관없다.

 

(테이블이 이미 생성되어 있는 경우 데이터만 복사)

1
INSERT INTO 복사할 테이블명 SELECT * FROM 기존 테이블명;
cs

 

 (특정 데이터만 복사)

1
INSERT INTO 복사할 테이블명 SELECT * FROM 기존 테이블명 WHERE 검색조건;
cs

 
 

 

ALTER : 테이블 구조 변경

 

새로운 칼럼 추가

-새로운 칼럼은 항상 마지막에 생성되므로, 자신이 원하는 위치에 추가 불가

 

기본 형태

ALTER TABLE 테이블명 ADD(컬럼명, 데이터 타입);

 

새로운 컬럼: tel varchar2(20)을 추가해봅시다.

 

 

varchar로 해도 varchar2로 만들어진다

 

▷기존 컬럼 수정

 

기본 형태

1
ALTER TABLE 테이블명 MODIFY (컬럼명, 데이터타입);
cs

 

 해당 컬럼에 해당 자료가 없는 경우

 - 컬럼의 데이터 타입 변경 가능

 - 컬럼의 크기 변경 가능

 해당 컬럼에 자료가 있는 경우

 - 컬럼의 데이터 타입 변경 불가

 - 현재 갖고 있는 데이터 크기보다 큰 크기로 늘리는경우만 가능

 

기존 컬럼 삭제

 

기본 형태

 

1
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
cs

 

테이블 명 변경

 

1
ALTER TABLE 기존 테이블명 RENAME TO 새로운 테이블명;
cs

 

 

DROP : 테이블 구조 삭제

 

기본 테이블 제거 시, 테이블에 저장 되어있는 데이터도 함께 제거된다.

한번 제거한 테이블은 다시 복구가 불가능하다.

 

>테이블 삭제와 무결성 제약 조건

 -삭제하고자 하는 테이블의 기본 키나, 고유 키를 다른 테이블에서 참조하는 경우에는 해당 테이블 제거 불가

 -참조하는 테이블 먼저 제거 후, 해당 테이블 삭제

 

기본 형태

1
DROP TABLE 테이블명;
cs

 

 

RENAME : 기존에 사용하던 테이블 이름을 변경

 

기본 형태

1
RENAME 기존 테이블명 TO 새로운 테이블명;
cs

 

TRUNCATE : 기존에 사용하던 테이블의 모든 로우(행)을 제거

 

로우에는 데이터가 들어가있다.

 

기본 형태

 

1
TRUNCATE TABLE 테이블명;
cs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Database' 카테고리의 다른 글

SQL Developer 설치하기  (0) 2018.04.22
조인[JOIN]  (0) 2018.04.20
트랜잭션 [Transaction]  (0) 2018.04.19
DML  (0) 2018.04.19
[ORACLE]오라클 그룹함수  (0) 2018.04.19