데이터 형식 | 바이트 수 | 숫자 범위 | 설명 |
---|---|---|---|
BIT(N) | N/8 | 1~64bit를 표현 | |
TINYINT | 1 | -128 ~ 127 | 정수 |
⭐SMALLINT | 2 | -32,768 ~ 32,767 | 정수 |
MEDIUMINT | 3 | -8,388,608~8,388,607 | 정수 |
⭐INT | 4 | 약 -21억 ~ + 21억 | 정수 |
⭐BIGINT | 8 | 약 -900경 ~ +900경 | 정수 |
⭐FLOAT | 4 | -3.40E+38 ~ -1.17E-38 | 소수점 아래 7 자리까지 |
DOUBLE REAL | 8 | -1.22E-308 ~ 1.79E+308 | 소수점 아래 15 자리까지 |
⭐DECIMAL(m,[d]) NUMERIC(m,[d]) | 5~17 | -10^38+1 ~ +10^38-1 | 전체 자릿수(m)와 소수점 이하 자릿수를 가진 숫자형 |
부호가 없는 정수를 지정할 때 UNSIGNED 예약어를 뒤에 붙이면 된다.
예를 들면 나이를 표현할 때 age TINYINT UNSIGNED 이런 식으로 하면 0~255 까지 표현 가능한 형태로 된다.
CHAR 와 VARCHAR 차이점
CHAR(50) : 50보다 짧은 데이터가 들어와도 무조건 50 자리를 차지한다.
VARCHAR(50) : 50보다 짧은 데이터가 들어오면 맞춰서 줄여 저장한다.
데이터 형식 | 바이트 수 | 설명 |
---|---|---|
⭐CHAR(n) | 1 ~ 255 | 고정길이 문자형 |
⭐VARCHAR(n) | 1 ~ 65535 | 가변길이 문자형 |
BINARY(n) | 1 ~ 255 | 고정길이 2진 데이터 |
VARBINARY(n) | 1 ~ 255 | 가변길이 2진 데이터 |
TINYTEXT | 1 ~ 255 | 255 크기 TEXT 데이터 |
TEXT | 1 ~ 65535 | N크기의 TEXT 데이터 |
MEDIUMTEXT | 1 ~ 16777215 | 16777215 크기의 TEXT 데이터 |
⭐LONGTEXT | 1 ~ 4294967295 | 최대 4GB TEXT 데이터 (소설) |
TINYBLOB | 1 ~ 255 | 255 크기 BLOB 데이터 |
BLOB | 1 ~ 65535 | N크기 BLOB 데이터 |
MEDIUMBLOB | 1 ~ 16777215 | 16777215 크기 BLOB 데이터 |
⭐LONGBLOB | 1 ~ 4294967295 | 최대 4GB 크기 BLOB 데이터 (영화) |
ENUM(values) | 1 OR 2 | 최대 65535 개의 열거형 데이터 |
SET(values) | 1, 2, 3, 4, 8 | 최대 64 개의 서로 다른 데이터 |
데이터 형식 | 바이트 수 | 설명 |
---|---|---|
⭐DATE | 3 | 'YYYY-MM-DD' 형식으로 사용됨 |
TIME | 3 | 'HH-MM-SS' 형식으로 사용 |
⭐DATETIME | 8 | 'YYYY-MM-DD HH:MM:SS'형식으로 사용됨 년-월-일 시:분:초 |
TIMESTAMP | 4 | 'YYYY-MM-DD HH:MM:SS' time_zone시스템 변수와 관련있고 UTC시간대 변환해서 저장 |
YEAR | 1 | 1901~2155 까지 저장, 'YYYY' 형식 |
데이터 형식 | 바이트 수 | 설명 |
---|---|---|
⭐GEOMETRY | N/A | 공간 데이터 형식으로 선, 점 및 다각형 같은 공간 데이터 개체를 저장하고 조작 |
⭐JSON | 8 | JSON(JavaScript Object Notation) 문서를 저장 |