[How to 알티베이스_7]SQL 테이블 변경 / 삭제
안녕하세요. Jun~입니다.
한해 동안 알티베이스에 관심 가져 주시고 힘을 실어주신 여러분들에게 진심으로
감사드립니다. 2008년 새해에는 지금보다 더 많은 성원 부탁드리며 저도 새로운
각오와 자세로 화이팅 하겠습니다. 연말연시 알차게 보내시고 새해 복 많이 받으세요.
----------------------------------------------------------------------------------------------------------------------------
"How to 알티베이스 7"에서는 저번 시간에 이어서 SQL 에 대해 알아보겠습니다.
----------------------------------------------------------------------------------------------------------------------------
How to 알티베이스 6에서는 테이블의 정보를 조회하는 select, 테이블을 생성하는
create, 테이블에 필요한 속성값을 추가하는 insert에 대해서 알아보았습니다.
오늘은 테이블을 변경하고 삭제해 보는 것에 대해서 알아보려고 합니다.
* 테이블 변경 및 삭제를 알아보기에 앞서 "DESC(RIBE)"에 대해서 잠시 살펴보고
갈께요. DESC는 테이블 정의를 나타내는 필수적인 명령어 입니다. 테이블의 각
칼럼명, 데이터 형, 길이와 크기까지 모두 확인 할 수 있습니다.
저번 시간에 만들어본 dept 테이블 정보를 확인해 볼께요.
(문법형식 : DEPT table_name)
1) delete
→ delete문은 테이블에서 로우를 제거합니다.
→ 형 식 : DELETE [FROM] table_name [WHERE condition]
→ 예 제 : delete from dept where deptno =20;
우선 테이블의 로우를 지우기 전에 dept 테이블에 들어있는 값들을 살펴 볼께요.
How to 6에서 알아본 "select * from dept"로 검색해 보겠습니다.
총 4개의 로우가 존재하는 군요. 그럼 delete에 예제처럼 전 deptno가 20인
로우를 삭제하려고 합니다. 실행해 보겠습니다.
dept 테이블에서 deptno가 20인 로우가 삭제된 것을 확인했습니다.
2) update
→ 데이터베이스에 있는 기존의 데이터를 변경할때 사용합니다.
→ 형 식 : UPDATE table_name SET column_name1 = expression1
[, column_name2 = expression2] ... [ WHERE condition]
* 여기에서 table_na,e은 변경할 테이블 명이며, column_name은 변경
되는 테이블의 칼럼, expression은 SQL 수식이고, condition은 조건
문 입니다.
→ 예 제 : update dept
set dname = 'SEOUL'
where deptno = 30;
* 이것은 테이블의 deptno가 30인 로우에 대해서 dname을 CHCAGO
에서 SEOUL로 변경하는 예제입니다. 실행해 볼께요.
3) drop / truncate
→ 테이블을 삭제 할때 사용합니다. 단 여기서 말한 테이블 삭제는 엄밀히 말해서
DROP을 말합니다. 즉, 구조와 데이터 모두를 삭제하죠. 그러나 TRUNCATE를
수행했을 경우 테이블 구조는 여전히 남아 있습니다.
실습을 통해서 명령어의 차이점을 알아보겠습니다.
→ 형 식 : DROP TABLE table_name;
TRUNCATE TABLE table_name;
→ 예 제 : drop table dept;
truncate table dept_ex;
* drop table dept를 수행한 경과 테이블이 삭제되어 desc로 dept테이블 검색을
하면 존재하지 않은 테이블이라고 나오는군요.
그럼 truncate를 실행해서 둘의 차이점을 비교해 볼까요?
* truncate를 수행하고 select를 이용하여 dept_ex테이블을 검색한 결과 로우값은
존재하고 있지 않지만 테이블 구조는 여전히 남아 있군요.
오늘은 테이블의 변경 / 삭제에 대해서 알아봤습니다. 열심히 만들어논 테이블을
한줄의 명령으로 날려버리다니 가슴 아프시죠?! 물론 간단한 롤백으로 지운 테이블을
되살릴 수 있지만 drop, truncate 명령어는 롤백이 불가능 합니다.
하지만 백문이 불여일타!!!
한번더 테이블을 생성하고 삭제를 해본다면 다시 명령어 사용법을 위해 책이나 웹을
뒤지지 않아도 될꺼에요. 그럼 오늘도 수고하셨습니다.