DB/SQL

[SQL] DDL (create drop alter)

씩씩한 IT블로그 2020. 7. 11. 16:19
반응형

CREATE

1. 테이블 생성

creat table (테이블이름) (

(컬럼이름) (타입)(글자수) (옵션)

);

create table dept(
 deptno varchar2(4) primary key,
 deptname varchar2(20);
);

create table emp (
 empno number(10),
 ename varchar2(20),
 sal number(10,2) default 0, --소수점 2째자리, 기본값은 0
 constraint emppk primary key(empno), --empno를 기본키로
 constraint deptfk foreign key (deptno) --deptno를 외래키로
                 references dept(deptno),
                 on delete cascade --dept의 데이터가 삭제되면 여기서도 삭제됨
);

 

(2) 뷰 생성

1. 뷰란 테이블로부터 유도된 가상의 테이블.

2. 실제 데이터를 가지고 있지 않고, 테이블을 참조해서 원하는 칼럼만을 조회

3. 참조한 테이블 변경시 뷰도 변경, 뷰에 대한 입력, 수정, 삭제는 제한

create view 뷰이름 as

select (속성)

from (테이블)

where (조건)

create view T_emp as 
   select * from emp;

 

(3) 인덱스 생성

CREAT INDEX (인덱스이름) ON (테이블명)(칼럼명)

CREAT INDEX idx_mgr ON EMP(MGR);

 

ALTER

 

(1) 칼럼추가

alter table (테이블이름) add ((속성이름) (타입)(길이) (옵션));

alter table emp add (age number(2) default 1);

 

(2) 칼럼 (옵션) 변경

alter table (테이블이름) modify ((속성이름) (타입)(길이) (옵션));

alter table emp modify (ename varchar2(40) not null);

 

(3) 칼럼 삭제

alter table (테이블이름) drop column (칼럼이름);

alter table emp drop column age;

 

(4) 칼럼 변경

alter table (테이블이름) rename column (칼럼이름) to (새이름);

alter table emp rename column ename to new_ename;

 

 

DROP

(1) 테이블 삭제

drop table emp;

(2) 뷰삭제

drop view t_emp;
반응형