1. 테이블 용어
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 (파일명)
--확장자 제외 파일명 입력
[참조]
'Language > SQL' 카테고리의 다른 글
[DATABASE] 제약조건(Constraint) (1) | 2022.04.13 |
---|---|
[DATABASE] DDL, DML_테이블 형성 및 데이터CRUD (0) | 2022.04.12 |
[DATABASE] DDL_DCL_객체 생성 및 사용자 조회 권한 부여 (0) | 2022.04.12 |
[DATABASE] 오라클 설치하기 / 시스템 접속 (0) | 2022.04.11 |
[DATABASE] SQL과 DATABASE의 기초 개념 (0) | 2022.04.11 |