1.숫자 데이터
2.문자 데이터
3.날짜/시간 데이터
형식 | 바이트 | 범위 | 설명 |
---|---|---|---|
bit(n) | - | - | - |
tinyint | 1 | -128 ~ 127 | 매우 작은 정수 |
smallint | 2 | -32,768 ~ 2,767 | 작은 정수 |
mediumint | 3 | -8,388,608 ~ 8,388,607 | 중간 크기의 정수 |
int | 4 | -21억 ~ 21억 | 표준 정수 |
bigint | 8 | -900경 ~ 900경 | 큰 정수 |
float(m,d) | 4 | -3,40E+38 ~ 1.17E-38 | 부동 소수 |
double(m,d) | 8 | -1.22E-308 ~ 1.79E+308 | 부동 소수 |
decimal(m,d)/numeric(m,d) | 5 ~ 17 | -1038+1 ~ 1038-1 | 고정길이 소수 |
✔️float/double/decimal/numeric 에서 m은 전체자리수를, d는 소수점 이하 자리수를 의미한다.
(지정하지 않은 경우: m기본값(10), d기본값(0))
✔️숫자형식에서 부호없는 정수를 지정할 수도 있는데 -값은 표현할 수 없지만, bit/tinyint는 범위 0~255의 숫자를 표현할 수 있다.
형식 | 바이트 | 범위 |
---|---|---|
char(size) | 1 ~ 255 | 고정 길이 문자열 |
varchar(size) | 1 ~ 65535 | 가변 길이 문자열 |
tinytext(size) | 1 ~ 255 | 최대길이 255 text값 |
text(size) | 1 ~ 65535 | 최대길이 65535 text값 |
mediumtext(size) | 1 ~ 16777215 | 최대길이 16777215 text값 |
longtext(size) | 1 ~ 4294967295 | 최대크기 4GB/최대길이 4,294,967,295 text값 |
binary(size) | 1 ~ 255 | 고정 길이 이진문자열 |
varbinary(size) | 1 ~ 255 | 가별 길이 이진문자열 |
tinyblob | 1 ~ 255 | 이진 데이터 |
blob(size) | 1 ~ 65535 | 이진 데이터 |
mediumblob | 1 ~ 16777215 | 이진 데이터 |
longblob | 1~4294967295 | 최대 4GB 이진데이터 |
enum | 1 or 2 | 문자 형태인 value를 숫자로 저장 |
set | 1,2,3,4,8 | 목록에서 선택되어야 하는 문자열을 0개 이상 가질 수 있는 객체 |
✔️size:저장할 문자 수.
✔️고정길이는 size만큼의 자리를 모두 차지하지만, 가변길이는 들어간 문자수 만큼만 자리를 차지한다.
✔️BLOB는 Binary Large Object로 사진, 동영상등의 파일을 저장하는데 사용된다.
✔️enum: value 중에 하나만 저장하며 value가 255이하인 경우에는 1byte 사용, 65535이하인 경우에는 2byte 사용한다.
✔️set: 최대 64개의 중복되지 않는 문자열을 가질 수 있다.
형식 | 바이트 | 범위 | 표시 형식 |
---|---|---|---|
date | 3 | 1001-01-01 ~ 9999-12-31 | 'yyyy-mm-dd' |
datetime | 3 | -838:59:59.000000 ~ 838:59:59.000000 | 'yyyy-mm-dd hh:mm:ss' |
timestamp | 8 | 1001-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 'yyyy-mm-dd hh:mm:ss' |
time | 4 | 1001-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 'hh:mm:ss' |
year | 1 | 1901 ~ 2155 | 기본값은 4자리 숫자 |
decimal 65 digits 까지 가능
길이는 9자리마다 4byte 씩 차지