M0desty
Published 2022. 6. 22. 23:27
[Database] 타입(Type) MySql

타입(Data Type)

MySql에서 테이블을 정의할 때는 필드별로 저장할 수 있는 타입까지 명시

 

※ MySql 제공하는 기본 타입

1. 숫자 타입

2. 문자열 타입

3. 날짜와 시간타입

 

숫자 타입(Numeric Type)

1. 정수 타입(Integer Type)

2. 고정 소수점 타입(Fixed-point Type)

3. 부동 소수점 타입(Floating-point Type)

4. 비트값 타입 (Bit-value Type)

 

정수 타입(Integer type)

- MySql은 SQL 표준 정수 타입인  Intefer, IntSMALLINT 제공

- 표준 정수 타입의 범위를 더욱 확장한 TINYINT, MEDIUMINT, BIGINT 까지 제공

- 각 정수 타입에 따라 요구되는 저장 곤간과 표현할 수 있는 최댓값과 최솟값이 다름

- 정수 타입은 음수까지 표현할 수 있는 SIGNED 타입과 양수만을 표현할 수 있는 UNSIGNED 타입으로도 구분

타입 저장 공간 최댓값 최솟값
Signed Unsigned Signed Unsigned
TINYINT 1바이트 -128  0 127 255
SMALLINT 2바이트 -32768 0 32767 65535
MEDIUMINT 3바이트 -8388608  0 8388607 16777215
INT 4바이트 -2147483648 0 2147483647 4294967295
BIGINT 8바이트 -9223372036854775808  0 9223372036854775807 18446744073709551615

 

고정 소수점 타입(Fixed-Point Type)

- DECIMAL은 실수의 값을 정확하게 표현하기 위해 사용

- DECIMAL 에서 사용하는 고정 소수점 방식은 실수를 표현할 때 소수부의 자릿수를 고정하여 표현

- 소수부 자릿수를 미리 정하고 고정된 자릿수로만 소수 부분 표현

DECIMAL(M, D)

 

부동 소수점 타입(Floating-point Type)

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

- MySql은 IEEE 754 표준에 따라 FLOAT(4Byte), DOUBLE(8Byte) 사용

FLOAT(P)
 
 

 

비트값 타입 (Bit-value Type)

- BIT는 비트의 값을 저장

- 0과 1로 구성되는 바이너리 값을 저장할 수 있음

BIT(M)

- M의 범위는 1부터 64까지 설정할 수 있으며, 명시한 M 비트의 값을 저장할 수 있음

- 명시한 M 비트보다 짧은 길이의 비트 값을 입력하면, 입력한 값 앞에 0을 추가하여 자동으로 길이를 맞춤

 

문자열 타입

CHAR / VARCHAR

- CHAR, VARCHAR 문자열 데이터를 저장할 수 있는 타입

- 저장 방식과 추출 방식, 최대 길이를 다루는 방식에서 차이점이 있음

- CHAR는 문자열을 길이가 한번 설정되면 그대로 고정되는 고정 길이의 문자열을 다룸

- VARCHAR는 문자열을 길이가 고정되지 않는 가변 길이의 문자열로 다룸

CHAR(M)
VARCHAR(M)

- M은 저장할 수 있는 문자열의 최대 길이

- CHAR는 설정한 크기보다 작은 길이의 문자열이 입력되면 나머지 공간을 공백으로 채워 길이를 M과 같게 만듬

 

날짜와 시간 타입

1) DATE / DATETIME / TIMESTAMP

- DATE

  • DATE는 날짜를 저장할 수 있는 타입
  • 기본 형식은 'YYYY-MM-DD' 

DATETIME

  • DATETIME은 날짜와 함께 시간까지 저장할 수 있는 타입
  • 기본 형식은 'YYYY-MM-DD HH:MM:SS' 

- TIMESTAMP

  • TIMESTAMP는 날짜와 시간을 나타내는 타임스탬프를 저장할 수 있는 타입
  • TIMESTAMP 타입의 필드는 사용자가 별다른 입력이 없으면 데이터가 마지막으로 입력되거나 변경된 시간이 저장
  • 데이터의 최종 변경 시각을 저장 및 확인 할 때 유용하게 사용

2) TIME

- TIME

  • TIME은 시간을 저장할 수 있는 타입
  • 기본 형식은 'HH:MM:SS' 

3) YEAR

- YEAR

  • YEAR는 연도를 저장할 수 있는 타입
  • YEAR(2)는 2자리의 연도를 저장할 수 있으며, YEAR(4)는 4자리의 연도를 저장할 수 있음

 

 
 
profile

M0desty

@둥글뉴비

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그