MySQL은 SQL 표준에서 지원하는 모든 숫자 타입을 제공
문법 | 설명 |
---|---|
BIT(M) | 명시한 M 비트의 값을 저장(M : 1~64, 생략 시 기본값은 1 로 설정) |
BOOL | 0은 false, 0이 아닌 값은 true 로 간주하는 논리형 데이터(ENUM(Y,N) 또는 TINYINT(1) 로 대체하여 사용하는 것을 권장) |
TINYINT(M) | 1바이트 |
SMALLINT(M) | 2바이트 |
MEDIUMINT(M) | 3바이트 |
INT(M)/INTEGER(M) | 4바이트 |
BIGINT(M) | 8바이트 |
MySQL에서 DECIMAL 타입은 NUMERIC을 구현하여 만들어짐
따라서 대부분의 경우 DECIMAL 대신 NUMERIC을 사용해도 똑같이 동작함
→ 실수의 값을 정확하게 표현하기 위해 사용
DECIMAL(M,D)
→ 실수의 값을 대략적으로 표현하기 위해 사용
FLOAT(M,D)
: 4바이트를 사용DOUBLE(M,D)
: 8바이트를 사용문법 | 설명 |
---|---|
CHAR(M) | 고정 길이 문자열(0~255) |
VARCHAR(M) | 가변 길이 문자열(0~65,535) |
TINYBLOB, TINYTEXT | 1~255개의 가변 길이를 가지는 문자열을 저장(문자길이+1byte) |
BLOB, TEXT | 1~65,535개의 가변 길이를 가지는 문자열을 저장(문자길이+2byte)(BLOB는 바이너리 데이터, TEXT는 문자 데이터 저장에 유리) |
MEDIUMBLOB, MEDIUMTEXT | 1~16,777,215개의 가변 길이를 가지는 문자열을 저장(문자길이+3byte) |
LONGBLOB, LONGTEXT | 1~429,496,729개의 가변 길이를 가지는 문자열을 저장(문자길이+4byte) |
ENUM | 문자 형태인 value 를 숫자로 저장하여 최대 65,535 개의 문자열 중 한가지를 반환(255 이하 value 는 1바이트, 65,535 이하 value 는 2바이트) |
SET | 비트 연산 열거형, ENUM 형과 동일하게 문자열 값을 정수값으로 매핑하여 저장 |
문법 | 설명 |
---|---|
DATE | 날짜를 표현하는 타입('YYYY-MM-DD')(3바이트) |
DATETIME | 날짜와 시간을 같이 나타내는 타입('YYYY-MM-DD HH:MM:SS')(8바이트) |
TIMESTAMP | 날짜와 시간을 나타내는 타임스탬프를 저장할 수 있는 타입(사용자가 별다른 입력을 주지 않으면, 데이터가 마지막으로 입력되거나 변경된 시간이 저장됨)(4바이트) |
TIME | 시간을 표현하는 타입 (3바이트) |
YEAR | 연도를 표현하는 타입 (1바이트) |