본문 바로가기
DB(Oracle)/Chapter

[SQL] Chapter1. 테이블 생성과 변경 및 제거

by hyun's life_developer 2019. 7. 8.

 

 

 

Chapter1. 안녕하세요! 초보개발자 시아아빠입니다~! 

 

Chapter.category는

 

'제 블로그 설명 : 초보 개발자 탈출기'에 맞게 저가 초보를 탈출하는 과정에 있어 

 

단계를 거쳐가는 중에 하는 포스팅이라고 보시면 됩니다. 

 

여느 블로그와 같은 정보이겠지만 같은 초보자로서 공감대라던지 이해관계가 있을 거라 생각되고

 

같은 눈높이에 맞춰 좀 더 쉽게 이해가 갈 수 있는 블로거가 되보겠습니다.

 

우선! 저는 DBMS로 oracle을 사용 중인데요! 실무에서는 SQLGate for Oracle Depveloper을 사용하고 있습니다. 

 

이제 본격적으로 테이블 생성에 대해 포스팅해보겠습니다 >,.<

 

우선 기본적으로 SQL에는 내가 원하는데로 실행시키기 위한 명령어(?)가 있어요!  그 글들을 쿼리라고 하고!

 

그 중에서도 테이블 생성에는 CREATE   <- 요놈이 사용되어 집니다. 

 

우선 작성 규칙을 알고 계시는게 좋겠어요!!

 

1. 테이블명과 칼럼명의 작성 규칙!!

 ★ 문자(A-Z, a-z)로 시작하며 30자이내여야 합니다!

 ★ 문자(A-Z, a-z), 숫자(0-9), 특수문자(_, $, #)만 사용!!

 ★ 대소문자 구별 없어용~(소문자로 저장할 시 작은따옴표를 사용합니다)

 ★ 동일 사용자는 다른객체의 이름과 중복되지 않아야 합니다!

 

참고사항  - 1. 추가된 컬럼은 테이블의 마지막 부분에 생성되기 때문에 원하는 위치를 지정할 수 없습니다.

2. 수정할 테이블에! 기존에다 추가한 데이터가 있으면 컬럼값은 NULL로 입력!!

3. 데이터가 존재할 경우 타입변경은 CHAR와 VARCHAR2만 허용한다는 사실~~!

 

 

자 이제 테이블 생성 쿼리를 봐볼게요!

2.  오라클 테이블 생성 : CREATE 

 가장 기본적인 테이블 생성 방법!!(쿼리)

CREATE TABLE 테이블명
(
   컬럼1  컬럼타입
 , 컬럼2  컬럼타입
 , 컬럼3  컬럼타입
);

 

ex) 이해를 돕기위해 한글로 쿼리를 짜볼게요!

 

CREATE TABLE 영웅
(
    영웅명      VARCHAR2(20)
  , 영웅고향    VARCHAR2(15)
  , 영웅소속    VARCHAR2(20)
);

ㅋㅋㅋ한글로보면 이런 느낌입니다 ㅋㅋㅋ

 

이 쿼리를 제대로 사용해보자 하면!

 

▼ex

CREATE TABLE HERO
(
     HERO_NAME VARCHAR2(20)
  ,  HERO_HOME VARCHAR2(15)
  ,  HERO_AFIL VARCHAR2(20)
);

이렇게 되는 것이죠!!

 

생성 방법에는 이렇게 쿼리를 사용하는 방법도 있지만!

 

 Developer를 이용하여

테이블에 커서두고 오른쪽 마우스 클릭화면

이렇게!! 생성하는 방법도 있어요!

 

여기서 테이블 만들기(C)를 눌러줍니다

 

그러면 화면이 이렇게 넘어오는데요!

 

테이블명 : HERO

 

주석 : 영웅들

컬럼

데이터 타입

크기 Precision Scale 기본키 Not Null? 기본값 주석

HERO_NAME

VARCHAR2 20            

HERO_HOME

VARCHAR2 15            

HERO_AFIL

VARCHAR2 20            

▲이렇게 해주시면 위 쿼리를 이용하여 생성한 테이블과 통일하게 됩니다!!

 

 

 

 

*테이블명 변경 - RENAME

--RENAME 기존테이블명 TO 바꿀테이블명

RENAME HERO TO HEROS

 

테이블 구조 변경시에는 ALTER  <- 요놈을 써요!!

 

컬럼추가시! ADD

 

컬럼 수정시! MODIFY

 

컬럼 삭제시! DROP

 

컬럼 사용제한시! SET UNUSED

 

추가★ ALTER TABLE 테이블명 ADD(컬럼 컬럼타입);

ex) ALTER TABLE HEROS ADD (HERO_NAME  VARCHAR2(30));

 

수정★ ALTER TABLE 테이블명 MODIFY 컬럼명 데이터 타입;

ex) ALTER TABLE HEROS MODIFY HERO_HOME VARCHAR2(20);

 

삭제★ ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

ex) ALTER TABLE HEROS DROP COLUMN HERO_AFIL;

 

사용제한★ ALTER TABLE 테이블명 SET UNUSERD(컬럼);

ex)ALTER TABLE HEROS SET UNUSERD(HERO_AFIL);

 

SET UNUSED는 말 그대로 사용안함!! 인데요!

시스템의 요구가 적을 때 컬럼을 제거할 수 있도록 표시합니다!

 

근데 실제로 제거되는 건 아니구요! 데이터가 존재하기는

하지만 삭제된 것으로 처리되어 조회할 수 없습니당! 

 

따라서 ! ex)에서 HERO_AFIL은 데이터가 있어도 조회를 할 수 없게 되어요~!

 

 

3.  테이블 제거 : DROP 

//DROP TABLE 테이블명;

DROP TABLE HEORS;

*삭제할 테이블의 기본키나 고유키를 다른 테이블에서 참조하면 삭제가 불가능해요!*

 

*테이블의 데이터만 제거하고 싶을 경우!!*

-테이블의 데이터를 제외한 모든 것을 그대로 유지하고 데이터만 제거하고 싶을 경우엔!

//TURNCATE TABLE 테이블명;

TRUNCATE TABLE HEROS;

▲이렇게 될 경우 테이블 생성 시 맨처음 선언해줬던!!    

 

CREATE TABLE HERO
(
     HERO_NAME VARCHAR2(20)
  ,  HERO_HOME VARCHAR2(15)
  ,  HERO_AFIL VARCHAR2(20)
);

▲와 같은 형태만 남고 안에 데이터는 전부 사라진다.

 

 

이렇게 기본적인 것을 예로 Chapter1을 마무리 합니다!! 다음 포스팅은 

 

Chapter2!!!! 가 아닌!! Chapter 1-2로 좀 더 응용해보는 내용을 포스팅할 것이에요!! 

 

SQL에 대해서 시작한 지 얼마 안되신 분이라면 분명히 도움이 되실거에요~!! ㅎㅎ

 

 

유니크값과 프라이머리키에 관해 -> https://blog.naver.com/wkd13927/22155925980

 

 

 

'DB(Oracle) > Chapter' 카테고리의 다른 글

[SQL] Chapter2. 데이터 수정하기  (0) 2019.09.30

댓글