mysql 테이블, 데이터 타입

LikeChoonsik's·2022년 12월 23일
0

Mysql

목록 보기
1/21
post-thumbnail
post-custom-banner

테이블 만들기

테이블이란

데이터 베이스는 폴더
테이블은 파일의 개념 데이터의 내용이 들어감
테이블은 생성 후 컬럼(열)을 입력해야 저장가능

데이터 타입

문자

데이터 타입지정가능한 양특징
CHAR0~255자CHAR(숫자)로 최대용량 지정가능
VACHAR0~65535자VARCHAR(숫자)로 최대용량 지정가능
TEXT0~65535자
TINYTEXT0~255자
MEDIUMTEXT0~1600만자
LONGTEXT0~42억자

VARCHAR 과 CHAR의 차이

VARCHAR(300) 이렇게 해놓고 나중에 10자만 저장한다고 해도 300자만큼 하드용량을 차지하는게 아니라 실제 입력한 10자 +1byte 만큼 용량을 차지한다.(글자가 256자 이상이면 + 1byte 말고 + 2byte 입니다)

CHAR(100) 이렇게 해놓으면 나중에 100자만 저장하면 딱 100자만큼 용량을 차지하지만 2자만 저장해도 100자만큼의 용량을 차지한다.
항상 고정된 크기의 글자가 필요한 경우 CHAR쓰는게 성능상 이점이 있을 수 있지만 체감 될 정도는 아님

숫자

데이터 타입지정가능한 양특징
SMALLINT-32768 ~ 32767
MEDIUMINT-838만 ~ 838만
INT-21억 ~ 21억
BIGINT-900경 ~ 900경
FLOAT-10^38 ~ 10^38소수점 7자리까지 저장가능 (약간의 오차발생함)
DOUBLE-10^308 ~ 10^308소수점 14자리까지 저장가능 (약간의 오차발생함)
DECIMAL소수점 30자리 포함 최대 65자리오차없이 소수점 저장가능
  • FLOAT, DOUBLE, DECIMAL은 소수점이 들어있는 숫자를 저장 가능, 정확도 낮음
  • 양의 숫자만 저장하고 싶으면 column만들 때 unsigned 옵션을 켜면 됩니다.
  • INT로 만들어놨으면 데이터 1개 당 무조건 4byte를 차지함(넣는 숫자가 커진다고 DB용량을 더 차지하거나 하지는 않음,SMALLINT는 2byte, BIGINT는 8byte임 )

날짜

데이터 타입지정가능한 양특징
DATE1000년 ~ 9999년YYYY-MM-DD 형식으로 날짜저장가능
TIME-839 ~ +838시간HH:MM:SS 형식으로 시간의 양 저장가능
DATETIME1000년 ~ 9999년YYYY-MM-DD HH:MM:SS 형식으로 날짜 & 시간 저장가능
TIMESTAMP1970년 ~ 2038년YYYY-MM-DD HH:MM:SS 형식으로 날짜 & 시간 저장가능한데 보통안씀

-TIMESTAMP는 2038년까지 밖에 저장이 안되서 잘 안씀

기타

영상, 사진 등 바이너리 데이터는 BLOB,
JSON은 JSON
불리언은 BOOLEAN

profile
춘식이는 너무 귀엽습니다.
post-custom-banner

0개의 댓글