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 |