숫자 타입

MySQL은 SQL 표준에서 지원하는 모든 숫자 타입을 제공

정수 타입(integer types)

문법설명
BIT(M)명시한 M 비트의 값을 저장(M : 1~64, 생략 시 기본값은 1 로 설정)
BOOL0은 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바이트

고정 소수점 타입(fixed-point types)

MySQL에서 DECIMAL 타입은 NUMERIC을 구현하여 만들어짐
따라서 대부분의 경우 DECIMAL 대신 NUMERIC을 사용해도 똑같이 동작함
→ 실수의 값을 정확하게 표현하기 위해 사용

  • DECIMAL(M,D)
    • M: 소수 부분을 포함한 실수의 총 자릿수(최대 65자리까지 표현)
    • D: 소수 부분의 자릿수, 0이면 소수부분 없음

부동 소수점 타입(floating-point types)

→ 실수의 값을 대략적으로 표현하기 위해 사용

  • FLOAT(M,D): 4바이트를 사용
  • DOUBLE(M,D): 8바이트를 사용
    *MySQL 8.0.17 이후 버전부터 사용 안함

문자열 타입

문법설명
CHAR(M)고정 길이 문자열(0~255)
VARCHAR(M)가변 길이 문자열(0~65,535)
TINYBLOB, TINYTEXT1~255개의 가변 길이를 가지는 문자열을 저장(문자길이+1byte)
BLOB, TEXT1~65,535개의 가변 길이를 가지는 문자열을 저장(문자길이+2byte)(BLOB는 바이너리 데이터, TEXT는 문자 데이터 저장에 유리)
MEDIUMBLOB, MEDIUMTEXT1~16,777,215개의 가변 길이를 가지는 문자열을 저장(문자길이+3byte)
LONGBLOB, LONGTEXT1~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바이트)
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글

Powered by GraphCDN, the GraphQL CDN