1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | --[ DDL(Data Definition Language) : create, alter, drop, truncate를 이용한 테이블 관리 ] -- desc 테이블명 -- 테이블 구조 보기(describe) desc Employees; desc member; create table employees2( employee_id number(10) primary key , name varchar2(20), salary number(7,2) -- 7자리를 할당하고 소수점은 2자리란 의미 ); create table employees4( employee_id number(10), --constraint employees4_pk primary key, name varchar2(20), salary number(7,2), -- 7자리를 할당하고 소수점은 2자리란 의미 --foreign key (employee_id) references employees2.employee_id constraint employees4_pk primary key (employee_id), -- 각 키 이름을 지정할 수 있는데 -- 이름을 지정할 때는 constraint 라는 키워드를 붙여준다. constraint employees4_fk FOREIGN key (employee_id) REFERENCES employees2(employee_id) -- 외래키 지정 ); -- 기존 테이블 항목을 그대로 만들고 싶을 때 create table employees3 as select * from employees; desc employees3; -- 테이블 수정 : alter ------------------------------------------------------------------------------- -- alter문) -- employees2 테이블에 manager_id 항목 추가 alter table employees2 add ( manager_id varchar2(10) ); desc employees2; -- manager_id의 varchar2(20)을 varchar2(10)으로 변경해보자. alter table employees2 modify ( manager_id varchar2(20) ); -- manager_id "컬럼"을 삭제하자. alter table employees2 drop column manager_id; desc employees2; -- Primary Key 변경 방법 -- 1. 먼저 primary key를 drop한다. -- 2. alter table 테이블명 add constraint 인덱스명 primary key(기존컬럼,추가컬럼) alter table employees2 drop primary key ; -- primary key 지우기 alter table employees2 add primary key ( name ); -- primary key 추가하기 desc employees2; -- 현재 name이 기본키로 되어 있다. name뿐만아니라 employee_id + name 두개를 복합키로 지정해 보자. alter table employees2 drop primary key ; alter table employees2 add primary key ( name ,employee_id); ---------------------------------------------------------------- -- drop 문) -- employees2 테이블 삭제하기 drop table employees2; ---------------------------------------------------------------- -- rename문) -- 테이블 이름 변경 -- member 테이블명을 member1으로 변경 rename member to member1; desc member1; -------------------------------------------------------------------- -- truncate 문) -- 테이블 내에 있는 모든 레코드를 삭제하는 구문(drop은 테이블 자체를 지우고 -- truncate는 레코드들만 비우는 것 -- employees3 테이블의 모든 레코드를 지워라. truncate table employees3; select * from employees3; /* 문자형 데이터 타입 char : 고정길이 문자형 타입(지정한 사이즈만큼,남아도 고정적으로 용량 차지), varchar2 : 가변길이(최대사이즈는 지정하지만, 입력한게 여분이 남으면 입력한대까지만 용량차지), nchar : 고정길이 유니코드 문자형 타입, nvarchar : 가변길이 유니코드 문자형 타입, long(2GB) : 가변길이형 문자 데이터 타입(2GB까지 가능) */ |
'스터디 > DB(ORACLE)' 카테고리의 다른 글
ORACLE 무결성 제약조건 (0) | 2017.09.07 |
---|---|
ORACLE DML( insert, update, delete, select ) (0) | 2017.09.06 |
ORACLE 서브쿼리와 ANY,ALL,IN에 대하여... (3) | 2017.09.06 |
ORACLE JOIN(Inner join,Outer Join,Self Join) (0) | 2017.09.05 |
ORACLE 그룹핑 GROUP BY, HAVING, ROLLUP (0) | 2017.09.05 |