[MySQL] 타입

thingzoo·2024년 3월 6일
0

MySQL

목록 보기
4/17
post-thumbnail

숫자 타입

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개의 댓글