Numeric types(숫자형 타입)
- 숫자를 나타내기 위해서 사용되는 데이터 타입
- 정수형 타입과 실수형 타입으로 나뉨
A. 정수형 타입
- TINYINT: 최소 -128 ~ 최대 127 까지의 정수를 저장할 수 있는 타입
(TINYINT SIGNED : -128 ~ 127 / TINYINT UNSIGNED : 0 ~ 255)
- SMALLINT: TINYINT 보다 좀더 큰 범위의 정수
(SMALLINT SIGNED : -32768 ~ 32767 / SMALLINT UNSIGNED : 0 ~ 65535)
- MEDIUMINT: MEDIUMINT SIGNED : -8388608 ~ 8388607 / MEDIUMINT UNSIGNED : 0 ~ 16777215
- INT: INT SIGNED : -2147483648 ~ 2147483647 / INT UNSIGNED : 0 ~ 4294967295
- BIGINT: BIGINT SIGNED : -9223372036854775808 ~ 9223372036854775807
BIGINT UNSIGNED : 0 ~ 18446744073709551615
B. 실수형 타입
- DECIMAL: 일반적으로 자주 쓰이는 실수형 타입 중 하나로 보통 DECIMAL(M, D)의 형식으로 나타냄
M은 최대 65, D는 30까지의 값
DECIMAL이라는 단어 대신 DEC, NUMERIC, FIXED 가능
(M은 최대로 쓸 수 있는 전체 숫자의 자리수이고, D는 최대로 쓸 수 있는 소수점 뒤에 있는 자리의 수를 의미)
ex) DECIMAL (5, 2)라면 -999.99 부터 999.99 까지의 실수
- FLOAT: -3.402823466E+38 은 (-3.402823466) X (10의 38제곱)
~ -1.175494351E-38 은 (-1.175494351) X (10의 38제곱 분의 1)
- DOUBLE: FLOAT에 비해 더 넓은 범위의 수, 정밀도 또한 더 높은 타입
날짜 및 시간 타입
- DATE: 날짜를 저장하는 데이터 타입 / 날짜는 ’2020-03-26’ 이런 형식의 연, 월, 일 순으로 값을 나타냄
- DATETIME: 날짜와 시간을 저장하는 데이터 타입 / ’2020-03-26 09:30:27’ 이런 식으로 연, 월, 일, 시, 분, 초를 나타냄
- TIMESTAMP: 날짜와 시간을 저장하는 데이터 타입 / TIMESTAMP 타입은 타임 존(time_zone) 정보도 함께 저장
(UTC/국제 표준 시 와 관련 있음)
문자열 타입
- CHAR: 문자열을 나타내는 기본 타입으로 Character의 줄임말
ex) CHAR(30): 최대 30자의 문자열 저장 가능, 괄호 안에는 0부터 255까지의 숫자 가능
- VARCHAR: 문자열의 최대 길이를 지정할 수 있는 문자열 타입 / 괄호 안에 최소 0부터 최대 65,535 (2^16 − 1) 까지 가능
CHAR는 고정 길이 타입 VARCHAR는 가변 길이 타입
CHAR(10)은 어떤 길이의 문자열이 저장되더라도 항상 그 값이 10만큼의 저장 용량을 차지
VARCHAR(10)의 경우 만약 값이 ‘Hello’ 이런 5자라면 저장 용량도 5만큼 차지
VARCHAR 타입으로 값이 저장될 때는 해당 값의 사이즈를 나타내는 부분(1byte 또는 2byte)이 저장 용량에 추가
- TEXT: 최대 65535 자까지 저장 / 정말 길이가 긴 문자열을 저장하려면 TEXT 계열의 타입을 써야 함