본문 바로가기
ㆍDatabase

[MySQL] MySQL 데이터 형식

by 매이슨 2022. 3. 25.

  • 정수형은 소수점이 없는 숫자, TYNIINT, SMALLINT, INT, BIGINT 4가지이다.
    - 예약어 UNSIGNED[ 값의 범위가 0 부터 시작 ] 사용시 
        TINYINT [ -128 ~ 127 ]
        TINYINT UNSIGNED [ 0 ~ 255 ]
    - 숫자범위를 벗어나면 "Out of range" ERROR 발생
    - 그외 BIT, MEDIUMINT 사용빈도낮음

  • 문자형은 고정형 문자형 CHAR, 가변형 문자형 VARCHAR 2가지이다.
    - 전화번호 처럼 '010-**' 제일 앞에 0으로 시작 할때 정수형으로 지정하면 0이 사라지므로 문자형으로 지정
      또한 연산을 하지않아서 숫자로서의 의미가 없을때

  • 대량의 데이터 형식 
CREATE TABLE error_table_example (
    data1 CHAR(256),
    data2 VARCHAR(16384) );
오류 메시지
Error Code : 1074. Column length too big for column 'data1' (max=255);
use BLOB or TEXT instead

data1 의 지정 숫자가 최대 범위 255보다 크다 BLOB 또는 TEXT를 사용하라는 에러다.
data1을 255로 했어도 data2가 에러가 발생하였을 것이다.

  - BLOB은 Binary Long Object의 약자로 글자가 아닌 이미지, 동영상 등의 데이터
    이진(Binary)데이터라고도 부른다.
    테이블에 사진, 동영상등을 저장 가능하다. 
    종류는 BLOB, LONGBLOB 이 있다.

  • 실수형은 소수점 아래 7자리까지 표현 FLOAT, 소수점아래 15자리까지 표현 DOUBLE 2가지이다.

  • 날짜형은 날짜 DATE, 시간 TIME, 날자와 시간 DATETIME 3가지이다.
  • MySQL 제공 변수 앞에 '@'를 붙인다.
  • 데이터형식을 변경하는 형 변환 함수에는 CAST(), CONVERT()가 있다.

 

정수형
데이터형식 바이트 수 숫자 범위
TYNIINT 1 -128 ~ 127
SMALLINT 2 -32,768 ~ 32,767
INT 4 약 -21억 ~ +21억
BIGINT 8 약 -900경 ~ +900경

 

문자형
데이터형식 바이트 수
CHAR 1~255
VARCHAR 1~16383

 

대량의 데이터 형식
데이터형식 바이트 수
TEXT 형식 TEXT 1~65535
LONGTEXT 1~4294967295
BLOB 형식 BLOB 1~65535
LONGBLOB 1~4294967295

 

실수형
데이터 형식 바이트 수 설명
FLOAT 4 소수점아래 7자리까지 표현
DOUBLE 8 소수점아래 15자리까지 표현

 

날짜형
데이터 형식 바이트 수  설명
DATE 3 날짜만 저장. YYYY-MM-DD 형식으로 사용
TIME 3 시간만 저장. HH:MM:SS 형식으로 사용
DATETIME 8 날짜 및 시간을 저장. YYYY-MM-DD HH:MM:SS 형식으로 사용