해당글은 '오라클로 배우는 데이터베이스 입문'과 '코딩의 시작, TCP School'에서 참고 작성되었습니다.

데이터베이스에 저장하는 데이터는 다양한 형태를 가지고 있습니다. 숫자로 표현이 가능한 데이터도 있고, 여러가지 문자를 포함한 데이터도 있고, 날짜를 표현해야하는 데이터도 있습니다.

이러한 각각의 컬럼들을 정의 할 때, 어떠한 형식을 갖고있는지 제약 사항을 갖고있는지를 정의하는 것이 '데이터 타입(Data Type)' 입니다.

숫자형

1) 정수형

타입명저장공간범위Unsigned시 범위
TINYINT(n)1byte-128 ~ 1270 ~ 255
SMALLINT(n)2byte-32768 ~ 327670 ~ 65535
MEDIUMINT(n)3byte-8388608 ~ 83886070 ~ 16777215
INT(n)4byte-2147483648 ~ 21474836470 ~ 4294967295
BIGINT(n)8byte-9223372036854775808 ~ 92233720368547758070 ~ 18446744073709551615

2) 고정 소수점

타입명설명표기 방법
DECIMAL(길이,소수)실수의 값을 정확하게 표현하기 위해 사용소수부의 자릿수를 미리 정해 놓고, 고정된 자릿수로만 소수 부분을 표현하는 방식. 길이는 65자리까지, 소수부분은 0인 경우 소수를 갖지 않는 특징이 있음.

3) 부동 소수점

타입명설명
FLOAT(길이,소수)부동 소수형 데이터 타입(4byte)
DOUBLE(길이,소수)부동 소수형 데이터 타입(8byte)

문자형

타입명설명범위
CHAR(n)고정 길이를 가지는 문자열을 저장0 ~ 255
VARCHAR(n)가변 길이를 가지는 문자열을 저장하며, 후행 공백을 제거하지 않음0 ~ 65535
TINYTEXT(n)1~255 개의 가변 길이를 가지는 문자열을 저장문자길이+1byte
TEXT(n)1~65,535 개의 가변 길이를 가지는 문자열을 저장문자길이+2byte
MEDIUMTEXT(n)1~16,777,215 개의 가변 길이를 가지는 문자열을 저장문자길이+3byte
LONGTEXT(n)1~429,496,729 개의 가변 길이를 가지는 문자열을 저장한다.문자길이+4byte
ENUM문자 형태의 value값을 숫자로 저장255 이하 value는 1byte, 65535 이하 value는 2byte
SET비트 연산 열거형; 미리 정의한 집합 안의 요소 중 여러 개를 동시에 저장할 수 있는 타입최대 64개의 SET 데이터를 포함

날짜와 시간 타입

타입명설명기본형식저장 범위
DATE날짜 저장 타입YYYY-MM-DD'1000-01-01' ~ '9999-12-31'
DATETIME날짜와 시간 저장 타입YYYY-MM-DD HH:MM:SS'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'
TIMESTAMP타임스탬프 저장 타입'1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC
TIME시간 저장 타입HH:MM:SS'-838:59:59'~ '838:59:59'
YEAR년도 저장 타입YYYY'1901' ~ '2155'
profile
Welcome to my velog! I love learning something new to build up my ability in development field. I don't think it is shame not to know, but it is shame to pretend to know about something you don't know.

0개의 댓글