Kim VamPa

[데이터베이스] 데이터 타입 정리(Oracle, MySQL) 본문

공부/데이터베이스

[데이터베이스] 데이터 타입 정리(Oracle, MySQL)

Kim VamPa 2020. 4. 24. 10:14
728x90
반응형

개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.


목표

  • Oracle, MySQL 각각의 데이터 타입을 정리하고자 합니다.
  • 공부하면서 수정할 부분이나, 추가할 부분은 그대그때 업데이트하고자 합니다.

 

 

목차

1. 문자형 데이터 타입

2. 숫자형 데이터 타입

3. 날짜 데이터 타입

 

1. 문자형 데이터 타입

Oracle

데이터 타입 설명
CHAR(n)  고정길이 문자 / 최대 2,000byte / 디폴트 값은 1byte
VARCHAR2(n)  가변길이 문자 / 최대 4,000byte / 디폴트 값은 1byte
NCHAR(n)  고정길이 유니코드 문자(다국어 입력가능) / 최대 2,000byte / 디폴트 값은 1byte
NVARCHAR(n)  가변길이 유니코드 문자(다국어 입력가능) / 최대 2,000byte / 디폴트 값은 1byte
LONG  최대 2GB 크기의 가변길이 문자형
CLOB  대용량 텍스트 데이터 타입(최대 4Gbyte)
NCLOB  대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte)

 

MySQL

데이터 타입 설명
CHAR(n)  고정 길이 문자 / n은 1 ~ 255( 2^8-1)byte 
VARCHAR(n)  가변길이 문자 / N은 1 ~ 65,535(2^16-1)byte
TINYTEXT(n)  문자열 데이터 / 최대 255(2^8-1)byte
TEXT(n)  문자열 데이터 / 최대 65,535(2^16-1)byte
MEDIUMTEXT(n)   문자열 데이터 / 최대 16,777,215(2^32-1)byte
LONGTEXT(n)  문자열 데이터 / 최대 4,294,967,295(2^32-1)
ENUM('vaue1', 'vaue2'...)  열거형 / 정해진 몇가지의 값들 중 하나만 저장 / 최대 65,535개의 개별갑을 가질 수 있고, 내부적으로 정수 값으로 표현됩니다.
SET('value1', 'value2'...)  집합형 / 정해진 몇가지의 값들 중 여러 개를 저장, 최대 64개의 요소로 구성될 수 잇고, 내부적으로 정수 값으로 표현됩니다. 

 

 

2. 숫자형 데이터 타입

Oracle

데이터 타입 설명
NUMBER(P,S)  가변숫자 / P (1 ~ 38, default : 38) / S (-84 ~ 127, default : 0) / 최대 22byte
FLOAT(P)  NUMBER의 하위 타입 / P (1 ~ 128, default : 128) / 이진수 기준 / 최대 22byte
BINARY_FLOAT  32bit 부동소수점 수 / 최대 4byte
BINARY_DOUBLE  64bit 부동소수점 수 / 최대 8byte

 

MySQL

데이터 타입 설명
BIT(n)  비트 값 유형 / n은 값 당 bit 수를 나타내며 1~64 사이의 값을 나타냅니다.
BOOL, BOOLEAN  해당 유형은 TINYINT(1)의 동의어 입니다 / 0은 false, 0이 아닌 값은 true로 간주 합니다.
TINYINT(n)  정수형 데이터 타입(1byte) / -128 ~ +127 또는 0 ~ 255수 표현 가능
SMALLINT(n)  정수형 데이터 타입(2byte) / -32,768 ~ 32,767 또는 0 ~ 65,536수 표현 가능
MEDIUMINT(n)  정수형 데이터 타입(3byte) / -8,388,608 ~ +8,388,607 또는 0 ~ 16,777,215수 표현 가능
INT(n)  정수형 데이터 타입(4byte) / -2,147,483,648 ~ +2,147,483,647 또는 0 ~ 4,294,967,295수 표현 가능
BIGINT(n)  정수형 데이터 타입(8byte) / 무제한 수 표현 가능
FLOAT(n,d)       부동 소수형 데이터 타입(4byte) / 고정 소수점 사용 형태
DOUBLE(n,d)                                DOUBLE PRECISION(n,d)                REAL(n,d)  부동 소수형 데이터 타입고정(8byte) / DOUBLE을 문자열로 저장
FLOAT(p)  부동 소수점 숫자 / p는 비트 정밀도를 가리키지만, MySQL은 결과 데이터 타입으로 FLOAT 또는 DOUBLE을 사용할 지를 결정할 때에만 이 값을 사용
DECIMAL(n,d)  묶음 고정 소수점 숫자 / n은 전체 자릿수(Precision : 정밀도), d는 소수점 뒷자리수(Scale : 배율)
- DECIMAL(5)의 경우 : -99,999 ~ 99,999
- DECIMAL(5,1)의 경우 : -9,999.9 ~ 9,999.9
- DECIMAL(5,2)의 경우 : -999.99 ~ 999.99


최대 65자리까지 지원
DEC(n,d)                                    NUMERIC(n,d)                              FIXED(n,d)  DECIMAL과 동의어 / FIXED(n,d)는 다른 데이ㅓㅌ베이스 시스템과의 호환을 위해서 사용

 

*n : 길이 / d : 소수

 

 

3. 날짜형 데이터 타입

Oracle

데이터 타입 설명
DATE  BC 4712년 1월 1일부터 9999년 12월 31일, 연, 월, 일, 시, 분, 초 까지 입력 가능
TIMESTAMP 연도, 월, 일, 시, 분, 초 + 밀리초까지 입력가능

 

MySQL

데이터 타입 설명
DATE  날짜(년도, 월, 일) 형태의 기간 표현 데이터 타입(3byte)
TIME  시간(시, 분, 초) 형태의 기간 표현 데이터 타입(3byte)
DATETIME  날짜와 시간 형태의 기간 표현 데이터 타입(8byte)
TIMESTAMP  날짜와 시간 형태의 기간 표현 데이터 타입(4byte) / 시스템 변경 시 자동으로 그날짜와 시간이 저장
YEAR  년도 표현 데이터 타입(1byte)

 

3. 날짜형 데이터 타입

Oracle

데이터 타입 설명
CLOB  문자형 대용량 객체 고정길이와 가변길이 문자집합 지원
NCLOB  유니코드를 지원하는 문자형 대용량 객체
BLOB  이진형 대용량 객체
BFILE  대용량 이진 파일에 대한 위치, 이름 저장

 

 

MySQL

데이터 타입 설명
BINARY(n) 
BYTE(n)
CHAR의 형태의 이진 데이터 타입 (최대 255byte)
VARBINARY(n) VARCHAR의 형태의 이진 데이터 타입 (최대 65,535byte)
TINYBLOB(n) 이진 데이터 타입 (최대 255byte)
BLOB(n) 이진 데이터 타입 (최대 65,535byte)
MEDIUMBLOB(n) 이진 데이터 타입 (최대 16,777,215byte)
LONGBLOB(n) 이진 데이터 타입 (최대 4,294,967,295byte)

 

 

 

 

 

 

Reference

 

 

DATE

  • 2020.04.24 작성

 

 

 

 

 

 

728x90
반응형
Comments