본문 바로가기
DBMS/1. MySQL-DATA

MySQL 사용자를 위한 데이터 타입

by 혀닙 2022. 2. 17.

목차

  1. STRING - 주요 문자열
  2. Numeric - 주요 숫자
  3. 날짜와 시간



컬럼의 데이터 유형은 컬럼이 어떤 데이터를 담을 수 있는가를 나타낸다
데이터베이스 테이블에 있는 각각의 컬럼은 컬럼명과 데이터 유형을 가지고 있다.
SQL 개발자는 테이블을 생성할 때 각각의 컬럼에 어떤 유형의 데이터가 저장될지 설정해야 한다.
데이터 타입은 SQL이 각각의 컬럼의 안에 저장될 데이터의 유형을 이해하기 위한 가이드라인이며
또한 SQL이 저장된 데이터와 소통하기 위한 방법을 나타낸다.

그렇다면 MySQL의 데이터 유형 3가지 중 자주 쓰이는 유형을 알아보자!


1. STRING

유형 설명
CHAR(자릿수) 고정된 길이의 문자열(알파벳/숫자/특수문자 포함)
고정 길이이므로 자릿수보다 작은 값 입력 시 공백 생김
BINARY 키워드 미설정의 경우 대소문자 구분 X
디폴트값은 1이며 자릿수는 컬럼의 문자 길이를 지정
지정가능한 범위는 0~255
VARCHAR(자릿수) 가변 길이의 문자열(알파벳/숫자/특수문자 포함)
자릿수는 컬럼의 최대 문자 길이를 지정
BINARY 키워드 미설정의 경우 대소문자 구분 X
지정가능한 범위는 0~255
TINYTEXT 최대길이는 255 byte
TEXT(자릿수) 최대길이는 65,535 byte

 

2. Numeric

유형 설명
TINYINT -128 ~ 127까지의 정수
1또는 0만 저장한다면 불리언과 같은 역할 수행
BOOL, BOOLEAN  
INT(자릿수), INTEGER(자릿수) -2147483648 부터 2147483647까지의 정수
양수로는 0부터 4294967295
표시되는 최대 자리수는 255
FLOAT()  
DOUBLE  


모든 숫자 데이터는 추가 옵션을 가질 수 있다.

-숫자 데이터의 옵션

옵션 설명
UNSIGNED 컬럼에 음수 값 사용 불가
ZEROFILL 컬럼에 UNSIGNED 속성 추가

 

3. DATE AND TIME

유형 설명
DATE 포맷 : YYYY-MM-DD
지원 범위 : 1000-01-01 ~ 9999-12-31
DATETIME 포맷: YYYY-MM-DD hh:mm:ss
지원범위 : 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
MySQL이 설치된 컴퓨터의 시간대를 기준으로 저장
자동 초기화 : 컬럼 선언 시 DEFAULT 추가
현재 날짜/시각으로 업데이트 : ON UPDATE 추가
TIMESTAMP 포맷 DATETIME동일
지원범위: 1970-01-01 00:00:00 ~2038-01-09 03:14:07(UTC)
자동초기화 : DEFAULT CURRENT_TIMESTAMP 추가
현재 날짜/시각으로 업데이트 : ON UPDATE CURRENT_TIMESTAMP 추가
TIME 포맷 : hh:mm:ss
지원범위 : -838:59:59 - 838:59:59
YEAR 포맷 : YYYY
지원범위 : 1901 ~ 2155

 

  • 시간데이터를 가감없이 기록할 때 DATETIME사용
  • 시간 자동기록, 국제 서비스 제공할 경우 TIMESTAMP 사용

댓글