DB : Data Type(자료형)-MySQL

은경·2022년 2월 24일
0

데이터 타입 (Data Type)


컴퓨터 시스템과 프로그래밍 언어에서 실수, 정수, 소수 자료형 등의 여러 종류의 데이터를 식별하는 타입.


🆎 문자형 데이터타입

데이터 유형정의
CHAR(n)고정 길이 데이터 타입(최대 255byte) - 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간은 공백으로 채워진다.
VARCHAR(n)가변 길이 데이터 타입(최대 65535byte) 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간은 채우지 않는다.
TINYTEXT(n)문자열 데이터 타입(최대 255byte)
TEXT(n)문자열 데이터 타입(최대 65535byte)
MEDIUMTEXT(n)문자열 데이터 타입(최대 16777215byte)
LONGTEXT(n)문자열 데이터 타입(최대 4294967295byte)
ENUM가능한 값: 지정한 값들 + NULL + 빈문자열('')
  • char : 고정형
    • char(10)으로 선언 시 입력 데이터와 상관 없이 10바이트의 공간을 차지
  • varchar : 가변형
    • varchar(10)으로 선언 시 글자를 하나만 넣으면 1바이트의 공간만 유동적으로 차지
  • text : 가변형

    varchar와 text의 차이점 (출처)

    • max size limit을 정할 수 있는가
      • text: 없다, 무조건 65535
      • varchar: 있다. 1 ~ 65535
    • 저장된 character 외의 현재 저장하고 있는 string의 사이즈를 저장하는데 1~2 byte를 더 쓴다
      • text: 무조건 2 byte
      • varchar: x <= 255 then, 1 byte, 256 <= x <= 65535 then, 2 byte
    • index의 일부로 쓰일 수 있는가
      • text: 없다
      • varchar: 있다
    • 기타
      • text: disk에 저장해서 느림
      • varchar: memory에 저장해서 빠름

🔢 숫자형 데이터 타입

데이터 유형정의
TINYINT(n)정수형 데이터 타입(1byte) -128 ~ +127 또는 0 ~ 255수 표현 가능하다.
SMALLINT(n)정수형 데이터 타입(2byte) -32768 ~ 32767 또는 0 ~ 65536수 표현 가능하다.
MEDIUMINT(n)정수형 데이터 타입(3byte) -8388608 ~ +8388607 또는 0 ~ 16777215수 표현 가능하다.
INT(n)정수형 데이터 타입(4byte) -2147483648 ~ +2147483647 또는 0 ~ 4294967295수 표현 가능하다.
BIGINT(n)정수형 데이터 타입(8byte) - 무제한 수 표현 가능하다.
FLOAT(길이,소수)부동 소수형 데이터 타입(4byte) -고정 소수점을 사용 형태이다.
DECIMAL(길이,소수)고정 소수형 데이터 타입고정(길이+1byte) -소수점을 사용 형태이다.
DOUBLE(길이,소수)부동 소수형 데이터 타입(8byte) -DOUBLE을 문자열로 저장한다.
BOOL/ BOOLEANTINYINT(1)이 적용됨

📆 날짜형 데이터 타입

데이터 유형정의
DATE날짜(년도, 월, 일) 형태의 기간 표현 데이터 타입(3byte)
TIME시간(시, 분, 초) 형태의 기간 표현 데이터 타입(3byte)
DATETIME날짜와 시간 형태의 기간 표현 데이터 타입(8byte)
TIMESTAMP날짜와 시간 형태의 기간 표현 데이터 타입(4byte) -시스템 변경 시 자동으로 그 날짜와 시간이 저장된다.
YEAR년도 표현 데이터 타입(1byte)


참고 자료 (Reference)


http://www.incodom.kr/DB_-_%EB%8D%B0%EC%9D%B4%ED%84%B0_%ED%83%80%EC%9E%85/MYSQL
https://devdhjo.github.io/mysql/2020/01/30/database-mysql-003.html
https://zetawiki.com/wiki/MySQL_%EC%9E%90%EB%A3%8C%ED%98%95

Django 모델링 참고 자료


https://docs.djangoproject.com/en/3.0/ref/models/fields/#model-field-types
https://ohgym.tistory.com/80?category=731677

profile
Python 서버 개발자

0개의 댓글