GeehDev

[MariaDB] 데이터 유형 본문

Study/DB

[MariaDB] 데이터 유형

geehyun 2024. 9. 23. 20:32

Index

    반응형

    velog에서 이관해온 글


    [MariaDB] 데이터 유형

    데이터 유형

    MariaDB에서 제공하는 기본 데이터 유형으로는 문자형, 숫자형, 날짜형이 있습니다.

    문자형

    구분 데이터 유형 크기(byte) 설명
    기본 char(M) 0~255 - 고정길이 문자형 : 지정한 길이보다 짧은 문자열이 입력될 시 데이터 남은자리를 전부 공백으로 채움(메모리차지)
    varchar(M) 0~65,535 - 가변길이 문자형 : 지정한 길이보다 짧은 문자열이 들어오면 해당 문자열 길이만큼만 메모리차지
    - 실제 저장하려는 문자의 길이보다 1~2byte 더 필요 (속도가 char 보다 느림)
    binary(M) 0~255 - 고정길이 이진 데이터 값
    varbinary(M) 0~255 - 가변길이 이진 데이터 값
    text tinytext 0~255 - 대용량의 문자열을 저장할 수 있습니다.
    - 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
    - 처리속도가 char보다 느립니다.
    text 0~65,535 - 대용량의 문자열을 저장할 수 있습니다.
    - 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
    - 처리속도가 char보다 느립니다.
    mediumtext 0~16,777,215 - 대용량의 문자열을 저장할 수 있습니다.
    - 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
    - 처리속도가 char보다 느립니다.
    longtext 0~4GB - 대용량의 문자열을 저장할 수 있습니다.
    - 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
    - 처리속도가 char보다 느립니다.
    blob tinyblob 0~255 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
    blob 0~65,535 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
    mediumblob 0~16,777,215 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
    longblob 0~4GB - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.

    날짜형

    데이터 유형 크기(byte) 설명
    date 3 - 형식 : YYYY-MM-DD
    - 지원범위 : 1000-01-01 ~ 9999-12-31
    time 3 - 형식 : HH:MM:SS.ssssss
    - 지원범위 : -838:59:59:999999 ~ 838:59:59:999999
    datetime 8 - 형식 : YYYY-MM-DD HH:MM:SS.ffffff
    - 지원범위 : 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
    timestamp 4 - 형식 : YYYY-MM-DD HH:MM:SS.ffffff
    - 지원범위 : 1970-01-01 00:00:01 (UTC) ~ 2038-01-19 03:14:07 (UTC)
    year 1 - 형식 : YYYY
    - 지원범위 : 1901 ~ 2155

    숫자형

    구분 데이터 유형 크기(byte) 수치 범위 설명
    이진 bit(M) M/8 1~64 bit 표현값 - M은 1~64 비트 수 입력가능
    정수 tinyint 1 -128127
    0
    255
    signed : 부호 있는 정수형
    unsigned : 부호 없는 정수형
    smaillint 2 -32,76832,767
    0
    65,535
    signed : 부호 있는 정수형
    unsigned : 부호 없는 정수형
    mediumint 3 -8,388,6088,388,607
    0
    16,777,215
    signed : 부호 있는 정수형
    unsigned : 부호 없는 정수형
    int
    integer
    4 -2,147,483,6482,147,483,647
    0
    4,294,967,295
    signed : 부호 있는 정수형
    unsigned : 부호 없는 정수형
    bigint 8 -92,23,372,036,854,775,80892,23,372,036,854,775,807
    0
    18,446,744,073,709,551,615
    signed : 부호 있는 정수형
    unsigned : 부호 없는 정수형
    고정
    소수점
    decimal(M,D)
    dec(M,D)
    numeric(M,D)
    fixed(M,D)
    - - M : 1~65 - M : 생략되면 10
    - D : 생략되면 0
    부동
    소수점
    double(M,D) 8 2.23e-308 ~ ~1.8e+308의 값을 15자리 정밀도로 저장 - M, D가 생략되면 하드웨어에서 사용하는 한계까지 저장
    float(M,D) 4 ~1.18e-38 ~ ~3.4e+38의 값을 7자리 정밀도로 저장 - M, D가 생략되면 하드웨어에서 사용하는 한계까지 저장

    💡데이터 유형 뒤에 괄호는?
    데이터 유형 뒤에 괄호가 있을 경우 해당 타입으로 컬럼을 만들 때 입력해줘야하는 값을 말합니다.

      • M : 문자 길이를 지정하는 정수 (0 = 빈문자열)
      • D : 소수점 아래 자릿 수

    💡unsigned, signed

    • unsigned : 부호 없는 정수형 (음수 저장불가)
    • signed : 부호 있는 정수형 (음수, 양수 저장 가능)

    참고

    MariaDB로 따라 하며 배우는 SQL프로그래밍 데이터베이스 기초에서 실무까지 - 나익수, 서연경 지음
    위 책을 공부하며 작성하고 있습니다!

    728x90

    'Study > DB' 카테고리의 다른 글

    [MariaDB] 내장 함수① - 문자/시간/수치 관련  (1) 2024.09.29
    [MariaDB] 연산자  (1) 2024.09.29
    [MariaDB] 기본 조작 (DDL/DML)  (0) 2024.09.29
    [MariaDB] 데이터베이스 기초  (1) 2024.09.23