MySQL - Data type

iseon_u·2022년 6월 25일
0

Database

목록 보기
14/23
post-thumbnail

Table 테이블


  • RDBMS 에서 데이터를 저장하는 2차원 형태의 데이터베이스 객체
  • 테이블은 데이터 관리 작업에 쉬운 형태
  • 로우와 칼럼으로 구성

Column 칼럼

  • 테이블의 세로 항목
  • 데이터의 유형

Row 로우

  • 테이블의 가로 항목
  • 여러개의 칼럼이 모여 하나의 로우 구성

컬럼의 데이터 타입


문자형

  • n 은 저장될 문자 값의 길이
  • n 개의 문자만큼 저장 가능

CHAR(n)

  • CHAR고정 길이 문자형
  • 나머지는 공백으로 채워진다.
  • 데이터를 조회하면 공백 없이 조회
  • n 의 최댓값은 255

VARCHAR(n)⭐

  • 가변 길이 문자형, 실제 입력되는 문자의 길이만큼 저장
  • 공백 없이 문자 저장
  • n 의 최댓값은 65,535 (64KB)
  • CHAR 보다는 VARCHAR 타입을 주로 사용

TEXT

  • VARCHAR 보다 더 큰 문자 값을 저장할 때 사용
    • TINYTEXT: 255Byte (255 문자)
    • TEXT: 64KB (65,535 문자)
    • MEDIUMTEXT 16MB
    • LONGTEXT 4GB

BLOB Binary Large Object

  • 이미지처럼 크기가 큰 데이터를 저장할 때 사용
    • TINYBLOB 255Byte
    • BLOB 64KB
    • MEDIUMBLOB 16MB
    • LONGBLOB 4GB

ENUM

  • 특정 값 목록을 정해놓고 이 목록에 있는 값들만 입력할 수 있는 문자열 객체 타입
  • ENUM(’small’, ‘medium’, ‘large’) 라고 선언했다면 칼럼에는 이 3가지 값만 입력 가능

숫자형

숫자형 옵션

  • UNSIGNED
    • 부호가 없다는 뜻
    • 0과 0보다 큰 수만 입력 가능
    • 숫자 범위는 유지한 채 음수가 저장될 공간을 양수로 넓힌다.

정수형

TINYINT [UNSIGNED]

  • -128 ~ 127 정수 저장할 수 있는 데이터 타입
  • UNSIGNED 옵션은 0 ~ 255 까지 저장 가능

SMALLINT [UNSIGNED]

  • -32,768 ~ 32,767 정수를 저장할 수 있는 데이터 타입
  • UNSIGNED 옵션은 0 ~ 65,535 까지 저장 가능

MEDIUMINT[(M)][UNSIGNED]

  • SMALLINT 보다 더 큰 정수를 입력할 때 사용
  • -8,388,608 ~ 8,388,607 정수를 저장할 수 있는 데이터 타입

INT[(M)][UNSIGNED]⭐

  • 음수를 포함하면 대략 -21억에서 21억까지
  • INT 대신 INTEGER 사용 가능

BIGINT[(M)][UNSIGNED]

  • 큰 정수를 저장하는 데이터 타입

실수형

  • M 은 전체 자릿수
  • D 는 소수점 이하 자릿수

DECIMAL[(M, D)][UNSIGNED]⭐

  • 고정 소수 실수형
  • M 은 소수점 이하 자릿수를 포함해 최대 65자리 저장 가능
  • M 생략시 기본 10으로 지정
  • D 는 최대 30자리까지 지정 가능
  • D 를 명시하지 않거나 0을 명시하면 소수점 이하 숫자는 없다는 뜻

DOUBLE[(M, D)][UNSIGNED]

  • 부동 소수 실수형 (떠다니는 소수점)
  • 15 자릿수를 넘어가면 근사값을 저장 (부정확)

날짜형

DATE

  • YYYY-MM-DD 형식 사용
  • 4자리 연도, 2자리 월, 2자리 일

DATETIME[(fsp)]⭐

  • YYYY-MM-DD hh:mm:ss[.fraction] 형식 사용
  • hh 시간, mm 분, ss 초, fraction 소수점 이하 초
  • fsp 는 소수점 이하 정밀도 자릿수 (0 ~ 6)

TIME[(fsp)]

  • 시, 분, 초를 입력하는 데이터 타입
  • hh:mm:ss[.fraction] 형식 사용

YEAR

4자리 연도를 입력할 수 있는 데이터 타입

profile
🧑🏻‍💻 Hello World!

0개의 댓글