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 씩 차지