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 |
---|
댓글