[SQL][MySQL] 데이터 타입 ( Data Type )

728x90

 

□  데이터형  ( Data Type )

  • 숫자 타입
    • 정수 타입  ( Integer )
      • TINYINT
      • SMALLINT
      • MEDIUMINT
      • INT
      • BIGINT
    • 고정 소수점 타입  ( Fixed-point )
      • DEFIMAL
    • 부동 소수점 타입  ( Floating-point )
      • FLOAT
      • DOUBLE
    • 비트값 타입  ( Bit-value )
      • BIT
  • 문자 타입
    • CHAR,  VARCHAR
    • BINARY,  VARBINARY
    • BLOB,  TEXT
    • ENUM
    • SET
  • 날짜 타입
    • DATE,  DATETIME,  TIMESTAMP
    • TIME
    • YEAR

 

 

1.  숫자 타입

 

타입 형식 공간 범위  / 설명
정수 타입 
( integer types )




TINYINT TINYINT[(M)] [UNSIGNED] [ZEROFILL] 1 byte -128 ~ 127  (signed)
0 ~ 255  (unsigned)
SMALLINT SMALLINT[(M)] 2 byte -32768 ~ 32767
0 ~ 65535
MEDIUMINT MEDIUMINT[(M)] 3 byte -8388608 ~ 8388607
0 ~ 16777215
INT INT[(M)] 4 byte -2147483648 ~ 2147483647
0 ~ 4294967295
BIGINT BIGINT[(M)] 8 byte -9223372036854775808 ~ 9223372036854775807
0 ~ 18446744073709551615
고정 소수점 타입 
( fixed-point types )
DECIMAL DECIMAL[(M[,D])]
( M => 최대 65 )
   *  M  :  소수 부분을 포함한 실수의 총 자릿수
 *  D  :  소수 부분의 자릿수
부동 소수점 타입 
( floating-point types )

FLOAT FLOAT(P)
( P => 0 ~ 24 (float)
         25 ~ 53 (double) )

FLOAT[(M,D)]
   *  P  :  정밀도 ( precision )
DOUBLE DOUBLE[(M,D)]    
비트값 타입 
( bit-value type )
BIT BIT[(M)]
( M => 1 ~ 64 )
1 bit  

 

 

2.  문자열 타입

 

  타입 형식 설명
  CHAR CHAR(M)
( M => 0 ~ 255 )
-  고정 길이
VARCHAR
VARCHAR(M)
( M => 0 ~ 65535 )
-  가변 길이
  BINARY BINARY(M) -  CHAR 와 비슷 
 바이너리 데이터 저장 시 사용
VARBINARY VARBINARY(M) VARCHAR 와 비슷
 바이너리 데이터 저장 시 사용
  BLOB  ( Binary Large Object )   -  문자열 대소문자 구분 안 함
TEXT    VARCHAR 와 비슷
-  기본값 가질 수 없음
-  문자열 대소문자 구분
  ENUM ENUM('데이터값1', '데이터값2', ...) -  미리 정의한 집합 안의 요소 중 하나만 저장 가능
-  가독성 향상
-  특정 숫자에 문자열로 의미 부여 가능
  SET SET('데이터값1''데이터값2', ...)  

 

 

3.  날짜와 시간 타입

 

  타입 기본 형식 범위 설명
  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'
날짜 + 시간 저장
TIMESTAMP
데이터의 최종 입력/변경 시간 '1970-01-01 00:00:01' UTC ~
'2038-01-19 03:14:07' UTC
-  날짜 + 시간 타임 스탬프 저장
-  기본값으로 데이터의 최종 입력/변경 시간 저장
-  유효하지 않은 데이터는 0을 저장
  TIME 'HH:MM:SS' or
'HHH:MM:SS'
'-838:59:59' ~
'838:59:59'
-  시간 저장
-  범위 초과 시 최대값/최소값으로 자동 변환
-  유효하지 않은 시간은 '00:00:00'로 저장
  YEAR YEAR(2) or
YEAR(4)
*  4자리 숫자  ☞  1901년 ~ 2155년
*  4자리 문자열  ☞  1901년 ~ 2155년
*  1 or 2 자리 숫자  ☞
  -  1 ~ 69  :  2001년 ~ 2069년
  -  70 ~ 99  :  1970년~1999년

*  1 or 2 자리 문자열  ☞
  -  '0' ~ '69'  :  2000년 ~ 2069년
  -  '70' ~ '99'  :  1970년 ~ 1999년

*  숫자 0  ☞  0000년
*  문자열 '0' or '00'  ☞  2000년
-  연도 저장
-  숫자나 문자열 모두 저장 가능
-  유효하지 않은 시간은 '0000'으로 저장

 

 

http://tcpschool.com/mysql/mysql_datatype_numeric

https://dev.mysql.com/doc/refman/8.0/en/data-types.html

https://www.w3schools.com/sql/sql_datatypes.asp

 

 

반응형