UNSIGNED 가능
Type | 크기 (Byte) |
---|---|
INTEGER(INT) | 4 |
TINYINT | 1 |
SMALLINT | 2 |
MEDIUMINT | 3 |
BIGINT | 8 |
고정 소수형
Type |
---|
DECIMAL(소수점 포함 총 자릿수 (max : 65, default : 10), 소수 자릿수) |
NUMERIC(소수점 포함 총 자릿수 (max : 65, default : 10), 소수 자릿수) |
부동 소수형
Type | 크기 (Byte) |
---|---|
FLOAT(n) | 4 |
DOUBLE(n) | 8 |
Type | 정의 |
---|---|
CHAR(M) | 문자 집합 저장 (고정 길이, 단위: byte) |
VARCHAR(M) | 문자 집합 저장 (가변 길이, 단위 : byte) |
NCHAR(M) | 문자 집합 저장 (고정 길이, 단위: 문자수) |
NVARCHAR(M) | 문자 집합 저장 (가변 길이, 단위 : 문자수) |
BINARY(M) | binary 데이터 저장 (고정 길이) |
VARBINARY(M) | binary 데이터 저장 (가변 길이) |
BLOB | Binary Large Object, 대소문자 구분 X |
TEXT | VARCHAR + 기본값 가능, BLOB + 대소문자 구분 O |
ENUM(value1, value2, …) | 미리 지정한 여러 값 중 하나를 저장 |
SET(value1, value2, …) | ENUM + 여러 값 저장 |
영문은 1byte, 한글은 2byte이다.
한글(유니코드)은 2byte를 차지하기 때문에,
3글자의 한글을 char/varchar 데이터 형식으로 정의할 경우 2배의 자릿수인 6을 지정해야한다.
반면, nchar/nvarchar 데이터 형식으로 정의할 경우엔 한글/영문 상관없이 3을 지정해주면 된다.
따라서, 한글(유니코드)을 저장하지 않을 것이 확실하다면, nchar/nvarchar보다 char/varchar를 데이터 형식으로 사용하는 것이 더 적은 공간을 차지한다.
Type | 정의 |
---|---|
DATE | YYYY-MM-DD |
TIME | hh:mm:ss |
DATETIME | YYYY-MM-DD hh:mm:ss |
TIMESTAMP | Integer |
YEAR | YYYY |
: 다양한 JSON 조작 함수 제공
: 위치 (위도와 경도)