◆ 테이블 생성
테이블의 이름, 컬럼이름을 한글로도 생성할 수 있으나, 일반적으로 불편해서 그렇게 잘 하지는 않는다.
SQL> create [global temporary] table
(column datatype [default expression] [column_constraint clause]
[, ...]);
(column datatype [default expression] [column_constraint clause]
[, ...]);
SQL> create table member
(name varchar2(10),
bdate date,
tel number);
(name varchar2(10),
bdate date,
tel number);
◆ 만들어진 테이블의 구조 확인
SQL> desc 테이블명;
◆ 서브쿼리를 이용한 테이블 생성(CTAS)
SQL> create table 테이블명
as
subquery;
as
subquery;
SQL> create table emp2
as
select * from emp;
emp테이블로부터 데이터를 검색하여 새로운 emp2테이블을 생성한다.as
select * from emp;
◆ 테이블 구조만 복사(내용은 복사 안함)
SQL> create table emp3
as
select * from emp
where 1=2;
CTAS의 where조건을 엉뚱한 조건을 주어 하나도 조건에 부합하는 데이터가 없으므로 결과적으로 emp테이블의 구조만 복사해온다.as
select * from emp
where 1=2;
◆ 테이블에 컬럼 추가
SQL> alter table 테이블명
add (컬럼명 데이터타입 [default expression],
[컬럼명 데이터타입]...);
add (컬럼명 데이터타입 [default expression],
[컬럼명 데이터타입]...);
◆ 테이블에서 컬럼 삭제
SQL> alter table 테이블명
drop column 컬럼명;
drop column 컬럼명;
◆ 테이블의 컬럼 변경
SQL> alter table 테이블명
modify 컬럼명 타입;
단, 컬럼의 사이즈를 작게 변경할 시에는 해당 컬럼에 들어있던 가장 큰 값까지밖에 줄이지 못한다.modify 컬럼명 타입;
◆ 테이블 이름 변경
SQL> rename 이전테이블명 to 새로운테이블명;
◆ 컬럼 이름 변경(9i부터 지원)
SQL> alter table 테이블명
rename column 기존컬럼명 to 새로운컬럼명;
rename column 기존컬럼명 to 새로운컬럼명;
◆ 테이블 삭제
SQL> drop table 테이블명 [cascade constraints];
◆ 테이블의 데이터 삭제(테이블 구조는 유지)
SQL> truncate table 테이블명;
'오라클 > SQL' 카테고리의 다른 글
[SQL] View (0) | 2010.08.24 |
---|---|
[SQL] Data Dictionary (0) | 2010.08.19 |
[SQL] TCL(Transaction Control Language) (0) | 2010.08.19 |
[SQL] DML(Data Manipulation Language) (0) | 2010.08.19 |
[SQL] SQL의 종류 (0) | 2010.08.19 |