C. Oracle
oracle DDL
sfeg
2017. 7. 2. 21:34
DDL - 오라클의 Database,Tablespace,segment,object등을 생성,수정,삭제 잘라내기
cteate,alter,drop,truncate,rename..
Autocommit (Rollback불가능,수정불가능)
CREATE TABLE
: 테이블 생성방법1. create table 테이블명 ( 컬럼명 데이타형식,...);
ex) create table emps
(empno number(4), ->정수형
ename varchar2(20),
sal number(7,2), ->실수형(자리는 7자리이고, 소수점이하가 2자리인..)
hiredate date);
(empno number(4), ->정수형
ename varchar2(20),
sal number(7,2), ->실수형(자리는 7자리이고, 소수점이하가 2자리인..)
hiredate date);
- char: 고정형 문자 (access시간이 빠르다.길이가 일정할때 사용)- 주민번호,....
- varchar2: 가변형 문자[현재 사용] (데이타 할당공간의 활용이 좋다.access시간이 느리다) -주소...
- varchar : 가변형 문자(사라짐)
ps. 테이블이름 생성 규칙 : 1. A~Z, a~z, 0~9, _, $, #
2. 1-30자까지만
3. 첫글자 영문
4. 예약어 X
5. 의미있게 생성
CREATE TABLE ~ AS ~
: 테이블 생성방법2. create table 테이블명 as copy하고 싶은 테이블 ;
ex) create table copy_emp
as
select * from emp; => emp 테이블관 row까지 복사
ex) create table copy_emp
as
select * from emp where 0=1; => emp 테이블만 복사
ALTER TABLE ~ ADD ~
: 테이블 컬럼 추가 alter table 테이블명 add ( 추가할 컬럼명 데이타형식,...);
ex) alter table copy_emp
add (HP varchar2(10));
ALTER TABLE ~ RENAME column 기존컬럼명 TO 변경할 컬럼명
: 테이블 컬럼명 변경 alter table 테이블명 rename column 기존컬럼명 to 변경할 컬럼명;
ex) alter table copy_emp1
rename column HP to mp;
rename column HP to mp;
ALTER TABLE ~ MODIFY (컬럼명 변경할 형식)
: 테이블 컬럼형식 변경 alter table 테이블명 modify (컬럼명 변경할 형식);
ex) alter table copy_emp1
modify ( mp varchar2(12));
modify ( mp varchar2(12));
ALTER TABLE ~ DROP column 삭제할 컬럼명
: 테이블 컬럼삭제 alter table 테이블명 drop column 삭제할 컬럼명;
ex) alter tale copy copy_emp
drop column mp;
DROP TABLE 삭제할 테이블명
: 테이블 삭제 drop table 삭제할 테이블명
ex) drop table copy_emp1;
RENAME 기존테이블명 TO 변경할테이블명
: 테이블이름 변경 rename 기존테이블명 to 변경할 테이블명;
ex) rename copy_emp to copy_emp1
TRUNCATE TABLE row를 삭제할 테이블명
: 테당테이블의 모든 row를 삭제하는 명령어 truncate table row를 삭제할 테이블명;
ex) truncate table copy_emp1
truncate -> rollback이 안된다(속도는 빠르다. 바로지우기때문에..) 부분적인 row를 지울수 있다.
한꺼번에 지울때 사용.
delete -> rollback이 된다(속도는 느리다. 복사후 지우기때문에..) 부분적인 row를 지울수 있다.
한꺼번에 지울때 사용.
delete -> rollback이 된다(속도는 느리다. 복사후 지우기때문에..) 부분적인 row를 지울수 있다.
comment on table 주석줄 테이블명 is ' 주석내용 '
: 테이블에 주석주기 comment on table 주석줄 테이블명 is ' 주석내용 '
ex) comment on table copy_emp
is '사원정보 테이블';
desc user_tab_comments;
select table_name, comments from user_tab_comments; =>주석확인하기