[오라클(Oracle) ] DDL( CREATE / ALTER / DROP / TRUNCATE )
1. CREATE
2. ALTER
3. DROP
4. TRUNCATE
1. CREATE TABLE
새로운 테이블 생성할 때 사용하는 명령어이다. CREATE TABLE 뒤에 새로 생성할 테이블명을 적고 괄호 안에서 칼럼의 세부 속성을 정의한다. 순서는 칼럼명, 데이터 타입(크기), 조건 순으로 적는다.
1
2
3
4
5
|
create table FOOD (
id number(4) primary key,
name varchar2(50) not null,
price number(10)
);
|
cs |
위 예시의 경우 FOOD 테이블을 새로 생성하는데, FOOD 테이블에는 id, name, price 칼럼이 존재한다. id 칼럼의 데이터 타입은 숫자, 데이터 크기 4, 그리고 기본키에 해당한다. name 칼럼의 데이터 타입은 문자(varchar2), 데이터 크기 50이며 null값을 가질 수 없는 조건을 가진다. 마지막으로 price 칼럼의 데이터 타입은 숫자이고 데이터 크기는 10이다.
EX) address 테이블을 생성
( [칼럼: id / 숫자 / 3], [칼럼: name / varchar2 / 50], [칼럼: addr / varchar2 / 100], [칼럼: phone / varchar2 / 30] )
1
2
3
4
5
6
7
|
create table address(
id number(3),
name varchar2(50),
addr varchar2(100),
phone varchar2(30),
email varchar2(100)
);
|
cs |
EX) class 테이블을 생성
( [칼럼: id / 숫자 / 5 / 기본키], [칼럼: c_name / varchar2 / 20 / not null], [칼럼: time / varchar2 / 10], [칼럼: professor / varchar2 / 10], [칼럼: price / 숫자 / 10] )
1
2
3
4
5
6
7
|
create table address(
id number(5) primary key,
c_name varchar2(20) not null,
time varchar2(10),
professor varchar2(10),
price number(10)
);
|
cs |
2. ALTER TABLE
테이블의 구조를 변경할 때 사용하는 명령어이다. 테이블에 새 칼럼을 추가(ADD)하거나 삭제(DROP)할 때, 테이블의 칼럼명을 변경(RENAME)하거나 칼럼의 데이터 타입과 크기를 변경(MODIFY)하는 데 사용된다.
(1) ADD(테이블의 칼럼 추가)
atler table 뒤에 추가할 테이블명을 적고 add 뒤의 괄호 안에 추가할 칼럼명을 적는다.
1
2
|
alter table 테이블명
add (칼럼명);
|
cs |
ex) student 테이블에 test 칼럼 추가
1
2
|
alter table student
add (test);
|
cs |
(2) DROP(테이블의 칼럼 삭제)
ater table 뒤에 삭제할 테이블명을 적고 drop column 뒤에 삭제할 칼럼명을 적는다.
1
2
|
alter table 테이블명
drop column 칼럼명 ;
|
cs |
ex) student 테이블에서 test 칼럼 삭제
1
2
|
alter table student
drop column test;
|
cs |
(3) RENAME(테이블의 칼럼 이름 변경)
1
2
|
alter table 테이블명
rename column phone to HP;
|
cs |
(4) MODIFY(테이블의 구조 변경)
테이블 내의 특정 칼럼의 데이터 타입이나 크기를 변경할 때 사용하는 명령어이다.
1
2
|
alter table 테이블명
modify 칼럼명 데이터타입(크기);
|
cs |
ex) class 테이블의 c_name 칼럼의 데이터 타입과 크기를 varchar2(100)으로 변경
1
2
|
alter table class
modify c_name varchar2(100);
|
cs |
3. DROP TABLE
테이블을 삭제할 때 사용하는 명령어이다. DDL에 해당하는 DROP의 경우 DML인 DELETE와는 다르게 ROLLBACK을 통한 복구가 불가능하므로 DROP 명령어를 사용할 때는 반드시 주의해야 한다.
1
|
drop table addr_third;
|
cs |
EX) 테이블 class를 삭제
1
|
drop table class;
|
cs |
4. TRUNCATE TABLE
TRUNCATE TABLE 역시 테이블 데이터를 삭제하는 명령어인 것은 동일하지만 삭제 형태에 차이가 있다. DROP의 경우 테이블 자체가 모두 삭제되지만 TRUNCATE는 테이블의 데이터만 전부 삭제되고 칼럼 정보는 남아 있게 된다. 즉, 테이블을 처음으로 만들었던 초기 상태로 돌아가는 것이다.
1
|
truncate table 테이블명;
|
EX) 테이블 food를 truncate 한 결과
[오라클(Oracle) ] DDL( CREATE / ALTER / DROP / TRUNCATE )
-요약-
1. CREATE TABLE
- 새로운 테이블 생성할 때 사용
- 테이블명, 칼럼명, 데이터 타입, 데이터 크기, 기본키, 조건 등의 속성 정의
2. ALTER
- ADD : 테이블의 칼럼 추가
- DROP : 테이블의 칼럼 삭제
- RENAME : 테이블의 칼럼 이름 변경
- MODIFY : 칼럼의 데이터 타입, 크기 변경
3. DROP
- 테이블을 삭제할 때 사용하는 명령어
- DROP 후 테이블 복구 불가
4. TRUNCATE
- 테이블의 모든 데이터 삭제
- 칼럼은 남아 있는 테이블 생성 직후 초기의 상태
'Database > Oracle' 카테고리의 다른 글
[오라클(Oracle) ] 시퀀스(SEQUENCE) (0) | 2022.04.15 |
---|---|
[오라클(Oracle) ] 제약조건(Constraints) /NOT NULL / UNIQUE / PRIMARY KEY / FOREIGN KEY / CHECK / DEFAULT (0) | 2022.04.15 |
[오라클(Oracle) ] DML(INSERT / UPDATE / DELETE) (0) | 2022.04.14 |
[오라클(Oracle) ] 데이터 그룹 생성(GROUP BY 절) / HAVING 절 (0) | 2022.04.14 |
[오라클(Oracle) ] 그룹 함수( count / sum / avg / max / min 함수) (0) | 2022.04.13 |
댓글