8장 테이블의 생성 및 변경 정인기
1. 테이블의 칼럼의 명명법 A~Z, a~z, 0~9, $, #, _의 문자만을 포함합니다. 1~30자의 길이를 갖습니다. 알파벳 문자로 시작해야 합니다. 같은 상용자가 같은 이름의 객체를 포함할 수 없으며, 한 테이블 내에서 칼럼 명은 유일해야 합니다. 오라클의 예약어를 테이블이나 칼럼의 이름으로 사용할 수 없습니다. 테이블이나 칼럼의 대소문자 구분은 하지 않습니다. Ex) select * from emp = select * from EMP
2.Create Table문으로 테이블 작성 DDL (Data Definition Language) 데이터 정의어는 실행시 자동 Commit 되므로 Rollback될 수 없으므로 주의해서 실행종류는 create - 새로운 테이블 생성 drop - 기존 테이블의 구조 및 모든 행을 삭제 alter 기존 테이블 변경 (필드의 추가, 수정 및 제약조건 추가, 삭제, 활성화, 비활성화) truncate - 테이블 구조를 남기고 모든 데이터 삭제 rename - 테이블, viex, sequence, synonym 의 이름 변경 comment - 테이블이나 칼럼에 주석문
2.Create Table문으로 테이블 작성 Create Table [schema.]table_name ( column_name1 datatype [DEFAULT expression1], … column_nameN datatype [DEFAULT expressionN] Ex)create table test1 (tid number(2), tname varchar2(10));
2.Create Table문으로 테이블 작성 따라하기 1. desc ora15.dept -> ora15대신에 각자의 계정을 타이핑하세요. 2. dept테이블 구조를 확인하고 테이블을 만듭니다. create table test1 (deptno number(2), dname varchar2(14), loc varchar2(13));
4. AS 서브쿼리로 테이블 작성하기 Create Table문과 As 키워드를 그리고 서브 쿼리를 사용하여 새로운 테이블을 만들 수 있습니다. 구문 Create Table new_table_name [column_name, ..] AS select_statement;
4. AS 서브쿼리로 테이블 작성하기 따라하기 create table test3 as select * from emp where 1=2;
4. AS 서브쿼리로 테이블 작성하기 따라하기 create table test4 as select empno, ename name, job, hiredate start_date, sal*12 yearsal from emp;
5. Alter Table문 사용하여 테이블 정의 변경하기 구문 Alter Table table_name ADD (column_name1 datatype [DEFAULT expression1], …); 이거나 Alter Table table_name MODIFY (column_name1 datatype [DEFAULT expression1], …);
5. Alter Table문 사용하여 테이블 정의 변경하기 칼럼 추가하기 따라하기 alter table test4 add (comm number(7,2) default 0);
5. Alter Table문 사용하여 테이블 정의 변경하기 칼럼 수정하기 따라하기 alter table test4 modify (empno number(5));
5. Alter Table문 사용하여 테이블 정의 변경하기 칼럼 수정하기 따라하기 alter table test4 modify (comm number(6,1));
6. 테이블의 이름 바꾸기 테이블뿐만 아니라, 뷰, 시퀀스, 시노님 등의 오라클의 객체의 이름을 바꾸기 위해서는 RENAME 문을 사용 구문 RENAME oldname TO newname; 테이블 이름 바꾸기 따라하기 rename test1 to test0;
7. 테이블 및 칼럼에 주석 달기 테이블 이나 칼럼에 2000바이트까지 COMMENT 문을 사용하여 주석을 달수 있습니다. 구문 COMMENT ON TABLE table_name IS ‘text’; COMMENT ON COLUMN table_name.column_name IS ‘text’;
7. 테이블 및 칼럼에 주석 달기 주석 조회 쿼리문 select * from [옵션] where table_name = “테이블이름”; 옵션 ALL_TAB_COMMENTS ALL_COL_COMMENTS USER_TAB_COMMENTS USER_COL_COMMENTS
7. 테이블 및 칼럼에 주석 달기 주석 조회 따라하기 select table_name, comments from user_tab_comments where table_name = ‘EMP’;
7. 테이블 및 칼럼에 주석 달기 comment on table test4 is ‘test number 4’; comment on column test4.yearsal is ‘test number 4 yearsal’;
8.테이블 삭제하기 테이블 삭제하기 위해서는 Drop Table문과 Truncate Table문 2가지가 있는데 Drop Table 완전히 테이블 삭제하는 것이고 Truncate Tabled은 테이블 구조만 남기는 차이가 있습니다. 구문 DROP TABLE table_name; TRUNCATE TABLE table_name;
8.테이블 삭제하기 테이블 삭제하기 따라하기 지금까지 만들었던 testN테이블들을 구조까지 모두 삭제해봅시다.