회원가입을 위해 회원정보를 저장할 테이블을 만들어보겠습니다.

회원정보로 간단히 아이디, 패스워드, 이름, 전화번호, 성별을 받도록 하겠습니다.


member라는 이름의 테이블을 만들것이며 7가지의 컬럼을 만들거고 각 컬럼의 타입 과 크기를 명세해놨습니다.



1. 테이블 생성하기

CREATE TABLE 테이블명 (컬럼이름 자료형);



※오라클에도 자바와 같이 자료형이 존재합니다.

여기서 사용된 varchar2는 가변길이의 문자열을 저장하기 위한 자료형입니다.

char는 고정길이의 문자열을 저장하기 위한 자료형 입니다.


만들고 생각해보니 튜플들을 구분하기 위해 primary key가 필요합니다.

튜플이란 테이블의 행을 의미합니다.

튜플들이 계속 추가되면 튜플마다 유일하게 구분할 무언가가 필요합니다.

이 무언가가 primary key입니다.

즉, primary key는 테이블에 있는 많은 튜플 중 하나의 튜플을 구분하게 해주는 컬럼을 말합니다.

많은 회원들을 구분하기 위해 id를 primary key로 지정하겠습니다.

primary key로 지정해 놓으면 중복된 아이디로는 가입을 할 수가 없게됩니다.

원래 테이블을 만들때 지정해주어야 하는데 깜빡 하였습니다...;;

2번라인에서 id varchar2(10) primary key, 이렇게 적어주면 primary key가 지정이 됩니다.

혹은 

ALTER TABLE 테이블명  modify ( 컬럼이름 자료형) primary key;

이렇게 명령을 주면 됩니다.


2. 테이블 검색하기

SELECT * FROM tab;




위와 달라도 상관 없습니다. member테이블이 생성됬음을 확인 하면 됩니다.


3. 튜플(레코드) 추가하기

테이블을 만들었으니 이제 테이블을 채워볼 차례입니다.

데이터를 삽입할 때는 INSERT명령문을 사용합니다.

INSERT INTO 테이블명 (컬럼이름, 컬럼이름, ....) VALUES(데이터, 데이터, ...);



보면 알다시피 phone3에는 데이터를 추가하지 않았습니다.

이처럼 데이터를 삽입하지 않은경우는 NULL값이 들어가게 됩니다.

NULL값이란 컬럼에 어떠한 값도 들어가지 않았음을 의미합니다. 아예 값이 없는 상태입니다.

추가로 테이블을 생성시 NOT NULL이라고 명시한 컬럼은 데이터가 반드시 삽입되어야 합니다.

그리고 commit명령어는 완전하게 모든작업을 완료하겠다고 알리는 명령어입니다.

commit을 하게 되면 commit전까지 명령했던 모든 작업이 영구적으로 저장이 되게됩니다.


4. 튜플(레코드) 조회하기

데이터를 삽입, 변경한 후 자신이 원하는 테이블의 컬럼에 데이터를 확인 하기 위한 명령입니다.

SELECT명령문을 사용합니다

SELECT 컬럼, 컬럼, 컬럼, ... from 테이블명


이전의 3번의 이미지에서 select * from member; 라고 명령문을 실행했고 밑에서 member테이블의 모든 컬럼값을 보여줍니다.

*(Asterisk) 즉, 별표를 컬럼이름대신 넣어주게되면 해당 테이블의 모든 컬럼을 읽어와 보여줍니다.

또한 마지막에 where절을 추가해서 조건을 넣어주어 해당하는 컬럼만 읽어오게 할 수도 있습니다.



5. 튜플(레코드) 삭제하기

DELETE FROM 테이블명 WHERE 조건;

이렇게 명령을 주게 되면 테이블에서 조건에 맞는 튜플을 삭제하게 됩니다.

그러나 조건을 적지 않는다면 모든 튜플을 삭제해버리는 무서운 상황이 발생합니다...;




6. 데이터 수정하기

UPDATE 테이블명 SET 컬럼이름 = 값, 컬럼이름 = 값, ... WHERE 조건;

테이블에서 SET 다음 적은 컬럼이름을 원하는 값으로 변경시킬 수 있습니다.

단, 여기서도 조건을 적어주지 않으면 해당 컬럼의 모든 값이 동일하게 변경 되어버립니다...;;


조건을 지정하지 않으면 위처럼 다른 튜플의 컬럼값도 변하게 되버리니 주의해야합니다.


7. 테이블 삭제하기

DROP TABLE 테이블명;

말 그대로 테이블을 삭제하는 명령입니다.

DROP명령문을 사용합니다.

처음에 만들고 지금까지 사용했던 member테이블을 삭제시키겠습니다.

당연히 이런 삭제 명령어들은 사용할때 주의를 해야합니다.

멀쩡히 사용하고 있는 테이블을 삭제해버리면 곤란해지기 때문입니다.


member테이블이 삭제 되었습니다.


혹시 저 처럼 테이블을 지우고나서 쓰레기값처럼 테이블명에 나타날 수가 있습니다.

오라클은 혹시나 실수로 테이블을 삭제 하였을 경우 다시 되살릴 수 있는 방법을 제공합니다.

(오라클 10g 이상부터로 알고있습니다.)

이 기능을 Flashback 테이블이라고 합니다.

이 현상은 윈도우에서 파일을 삭제하고나면 휴지통에 들어가는 것 처럼 

오라클에서도 테이블을 삭제하게 되면 쓰레기통에 들어갑니다.

완전히 삭제하기 위해서는 PURAGE RECYCLEBIN; 명령어를 실행해주시면 됩니다.