테이블의 관리

테이블 컬럼의 관리

테이블의 컬럼은 ADD, MODIFY, DROP연산자를 통해서 관리 할 수 있습니다.

ADD 연산자

테이블에 새로운 컬럼을 추가 할 때 사용 한다.

 
-- VARCHAR2의 데이터 형을 가지는 addr 컬럼을 emp 테이블에 추가
SQL> ALTER TABLE emp ADD (addr VARCHAR2(50));
MODIFY 연산자

테이블의 컬럼을 수정 하거나 NOT NULL컬럼으로 변경 할 수 있으며, 컬럼이 이미 테이터를 가지고 있을 경우 다른 데이터형으로 변경이 불가능 하다.

 
-- ename 컬럼을 VARCHAR2 50자리로 수정한 예제.
SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50));
SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50) NOT NULL);
DROP 연산자

테이블 컬럼을 삭제 하거나, 테이블의 제약 조건을 삭제 할 때 사용 한다.

 
-- 컬럼의 삭제 문법
SQL> ALTER TABLE table_name DROP COLUMN column_name

-- 제약 조건의 삭제 예제
SQL> ALTER TABLE emp DROP PRIMARY KEY ;

-- CASCADE 연산자와 함께 사용하면 외래키에 의해 참조되는 기본키도 삭제 할 수 있다.
SQL> ALTER TABLE emp DROP CONSTRAINT emp_pk_empno CASCADE;

기존 테이블의 복사

- 기존 테이블을 부분, 또는 완전히 복사할 때에 서브쿼리를 가진 CREATE TABLE 명령어를 사용해서 쉽게 복사 할 수 있다.

- 하지만 제약 조건, 트리거, 그리고 테이블 권한은 새로운 테이블로 복사되지 않는다.

- 제약조건은 NOT NULL 제약 조건만 복사 된다.

기존 테이블의 복사

  
-- 한번 실습해 보세요.
SQL> CREATE TABLE emp2
AS SELECT * FROM emp;

테이블의 테이블스페이스 변경

Oracle 8i부터는 ALTER TABLE ~ MOVE TABLESPACE 명령어로 쉽게 테이블의 테이블스페이스를 변경 할 수 있다.

테이블의 테이블스페이스 변경

  
-- 한번 실습해 보세요. (test라는 테이블스페이스가 있어야 겠죠)
SQL> ALTER TABLE emp
MOVE TABLESPACE test;

테이블의 TRUNCATE

  • - 테이블을 Truncate하면 테이블의 모든 행이 삭제되고 사용된 공간이 해제 된다.
  • - TRUNCATE TABLE은 DDL명령이므로 롤백 데이터가 생성되지 않는다.
  • - DELETE명령으로 데이터를 지우면 롤백명렁어로 복구 할 수 있지만, TRUNCATE로 데이터를 삭제하면 롤백을 할 수가 없다.
  • - 행당 인덱스도 같이 잘려 나간다.
  • - 외래키가 참조중인 테이블은 TRUNCATE할 수 없다.
  • - TRUNCATE 명령을 사용하면 삭제 트리거가 실행되지 않는다.

테이블의 TRUNCATE

테이블의 삭제 (DROP TABLE)

테이블의 테이블스페이스 변경

  
-- emp 테이블 삭제
SQL> DROP TABLE emp;

-- CASCADE CONSTRAINT는 외래키에 의해 참조되는 기본키를 포함한 테이블일 경우
-- 기본키를 참조하던 외래 키 조건도 같이 삭제 한다.
SQL> DROP TABLE emp CASCADE CONSTRAINT;

관련자료

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 16:10 2011/01/20 16:10
, , ,
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5825

다중 열(Multiple-Column) 서브쿼리

다중 열 서브쿼리란 서브쿼리의 결과 값이 두 개 이상의 컬럼을 반환하는 서브쿼리 이다.

Pairwise(쌍비교) Subquery

서브쿼리가 한 번 실행되면서 모든 조건을 검색해서 주 쿼리로 넘겨 준다.

 
SQL> SELECT empno, sal, deptno
FROM emp
WHERE (sal, deptno) IN ( SELECT sal, deptno
FROM emp
WHERE deptno = 30
AND comm is NOT NULL );

EMPNO SAL DEPTNO
---------- ---------- ----------
7521 1250 30
7654 1250 30
7844 1500 30
7499 1600 30

Nonpairwise(비쌍비교) Subquery

서브쿼리가 여러 조건별로 사용 되어서 결과 값을 주 쿼리로 넘겨 준다.

 
SQL> SELECT empno, sal, deptno
FROM emp
WHERE sal IN ( SELECT sal
FROM emp
WHERE deptno = 30
AND comm is NOT NULL )
AND deptno IN ( SELECT deptno
FROM emp
WHERE deptno = 30
AND comm is NOT NULL );

EMPNO SAL DEPTNO
---------- ---------- ----------
7521 1250 30
7654 1250 30
7844 1500 30
7499 1600 30

Null Values in a Subquery

서브쿼리에서 NULL 값이 반환 되면 주 쿼리 에서는 어떠한 행도 반환되지 않는다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 16:00 2011/01/20 16:00
,
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5824

HTML5 referencR - https://developer.mozilla.org/en-US/docs


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 10:05 2011/01/20 10:05
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5823

뜨거운 가마 속에서 구워낸 도자기는 결코 빛이 바래는 일이 없다.
이와 마찬가지로
고난의 아픔에 단련된 사람의 인격은 영원히 변하지 않는다.
안락은 악마를 만들고 고난은 사람을 만드는 법이다.
-쿠노 피셔

“성품은 편안함과 조용함을 통해서는 개발될 수 없다.
오직 시련과 고난의 경험을 통해 우리는 강해지고
우리의 비전이 더욱 분명하게 되며, 우리의 목표가 이루어진다.”
헬렌 켈러의 이야기입니다.

그렇습니다. 쇠는 불에 달구어야 강해집니다.
추운 겨울을 보낸 봄 나무들이 더 아름다운 꽃을 피웁니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 08:12 2011/01/20 08:12
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5822

영혼의 친구

평생에 한두 번
나타날까 말까 한 특별한 영혼의 친구가 있다.
우리가 누구인지, 어떤 사람이 될 수 있는지
깊이 이해하는 친구, 몇마디로 우리 인생을
바꿔놓을 수 있는 친구, 스승이라고
부를 만한 친구 말이다.

- 스티븐 나흐마노비치의《놀이, 마르지 않는 창조의 샘》중에서 –

그보다 더한 축복이 없습니다.
그보다 더 큰 행운이 다시 없습니다.
좋은 꿈을 가지고 열심히 살아가는 사람,
가장 작은 일에 기쁨으로 최선을 다하는 사람,
그런 사람들 사이에서 어느 날 선물처럼
만나는 것이 ‘영혼의 친구‘입니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2011/01/20 08:07 2011/01/20 08:07
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5821


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2011/01   »
            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          
Statistics Graph

Site Stats

Total hits:
184918
Today:
249
Yesterday:
458