1. 테이블 용어

행의 집합을 instance라고도 한다.

 

2. 데이터 타입

- 데이터 타입에는 아래와 같이 여러가지가 있다. 현재 단계에서는 기본 빌트인 데이터 타입만 확인.

원본: 유투브 뉴렉처

[ Oracle Built-in Data Types ]

자료형 예시   종류 최대 길이
Character 'A'
'123'
고정 길이 CHAR(size [BYTE | CHAR]) 4000BYTE
가변 길이* VARCHAR2(SIZE [BYTE | CHAR])
고정 길이 NCHAR(SIZE)
가변 길이* NVARCHAR2(SIZE)
CLOB   대용량 문자   4GB
Numeric 25
3.55
3.55F
  NUMBER(P , S)
* P : 전체 자릿수, S : 소수점 자릿수
38
DATE '2013-11-25' 날짜    
TIMESTAMP   날짜 + 시분초    

 

▶ CHARACTER

 

- CHAR(SIZE [BYTE | CHAR]) 는 고정 길이이다.

  > 고정 길이는 가변 길이 보다 검색 속도가 더 빠르다. (왜냐면, CHARACTER는 구분자를 통해 구분되기 때문)

  > 가급적 고정적인 데이터는 VARCHAR2( ) 보다 CHAR을 사용하는 것이 좋다. 

  > 오라클에서 기본적으로 AL32UTF8 인코딩 방식 사용 [한 글자에 3BYTE]

- VARCHAR2(SIZE [BYTE | CHAR]) 는 가변 길이이다.

  > 지정해둔 사이즈만큼 메모리 공간을 쓰는 것이 아니며, 실제 저장한 문자 크기 만큼만 메모리 공간을 사용한다.

- NCHAR(SIZE)

  > 세계 각국의 문자를 사용할 수 있는 데이터 형태.

  > 오라클에서 기본적으로 AL16UTF16 인코딩 방식 사용 [한 글자에 2BYTE]

  > 고정 길이 문자이면서, 세계 각국 언어(그 중에 한글도 포함)을 쓸 경우엔 NCHAR을 쓰는게 효율적이다.

- NVARCHAR2(SIZE)

CREATE TABLE MEMBER
(
    ID       VARCHAR2(50),
    PWD      NVARCHAR2(50),
    NAME     NVARCHAR2(50),
----GENDER   CHAR(6),       --- 남성, 여성, 기타 // 6 BYTE로 지정
----GENDER   CHAR(2 CHAR),  --- 2 뒤에 CHAR 선택
    GENDER   NCHAR(2),      --- 2 뒤에 CHAR 지정x >> 2 글자라는 의미 
    AGE      NUMBER,
    BIRTHDAY CHAR(50),  --- 2000-03-05   고정길이
    PHONE    CHAR(13),  --- 010-123-2345 고정길이
    REGDATE  DATE
)

SELECT LENGTH('한글') FROM DUAL;    --- 결과 : 2
SELECT LENGTHB('AB') FROM DUAL;     --- 결과 : 2  << 2바이트
SELECT LENGTHB('한글') FROM DUAL;   --- 결과 : 6

--문자 환경설정 확인
SELECT * FROM NLS_DATABASE_PARAMETERS; -- NCHAR은 한글 한글자에 2BYTE사용
[문자도 정렬이 될까?]

※ 문자도 SORTING이 된다 (A,B,C,D,.... 숫자면 1, 2, 3, 4....)
- 아래와 같이 날짜 타입의 데이터를 문자로 변환 후 그 문자의 최소값을 구하는 게 가능하다.

   SELECT * FROM sawon
     WHERE TO_CHAR(sahire,'YYYY-MM-DD') = (SELECT MIN(TO_CHAR(sahire,'YYYY-MM-DD')) FROM sawon) 

 

3. 간단 sql 명령어

간단 sql 명령어 정리

■ 로그인
sqlplus host/password

■ 연결
connect scott/tiger

■ 현재 사용자 출력
show user

■ 테이블 구조 설명 출력
describe tab 
또는
desc tab

■ 잠깐 cmd으로 넘어가기
host >> 잠시 cmd로 이동
exit >> 다시 sql로 넘어감

■ SQL 나가기
exit

 

4. 메모장으로 sql파일 저장 후, CMD에서 실행하기

[1] SQL파일 저장

※ 유의사항 : 사전에 sql파일을 저장할때 인코딩 charset을 ANSI로 설정
why? OS운영체제에 따라 사용하는 인코딩이 다르기 때문(ex. window - MS949)

 

[2] SQL파일 실행하기
1. cmd에서 sql파일 위치로 cd 경로 이동 
2. sqlplust host/password 접속

3. @a로 파일 실행
※ 에러 : 단일 인용부를 지정해 주십시오 << 인코딩이 맞지 않아서다.(파일을 재저장하면 된다)

 

[3] sql파일 수정

edit (파일명) 또는 ed (파일명)
--확장자 제외 파일명 입력

 

 

[참조]

http://www.gurubee.net/lecture/1380

+ Recent posts