[SQL] 데이터 자료형에 대해 알아보자

YS_Study.log·2022년 3월 7일
0

테이블을 생성할떄 컬럼에 들어갈 데이터에 대한 제약조건을 걸었었는데, 그 안에서 컬럼에 들어갈 자료형도 지정 할 수 있다.
어떤 자료형이 있는지 간단히 알아보자

자료형

(컴퓨터는 모든 데이터를 0과 1로 인식하는 것을 다시 상기하기)

테이블의 각 컬럼(열 데이터)들마다 어떤 자료형이 들어갈 것인지 명시해야(숫자인지, 문자인지 등), 정확한 데이터가 입력될 수 있기 때문에 오류를 방지할 수 있어 테이블을 생성할 때 자료형을 입력해준다.
ex) 이름을 넣는데 숫자가 들어오면 안되니깐 문자만 들어올수 있게 지정해주는 것이다.

숫자 자료형

데이터 용량에 따라 숫자 데이터 크기를 설정한다.

  • 가장 작은 데이터는 TINYINT => 가장 큰 데이터는 BIGINT 순 이다.
  • SIGNED : 음수부터 양수까지 사용한다.
  • UNSIGNED : 무조건 정수만 사용한다.
자료형바이트SIGNEDUNSIGNED
TINYINT1-123 ~ 1270 ~ 255
SMALLINT2-32,768 ~ 32,7670 ~ 65,535
MEDIUMINT3-8,388,608 ~ 8,388,6070 ~ 16,777,215
INT4-2,147,483,648 ~ 2,147,483,6470 ~ 4,294,967,295
BIGINT8-2^63 ~ 2^63 -10 ~ 2^64 - 1

고정 소수점(Fixed Point) 수

좁은 범위의 수 표현이 가능하고, 정확한 값

자료형설명범위
DECIMAL( s, d )실수 부분 총 자릿수( s ) & 소수 부분 자릿수 ( d )s 최대 65

부동 소수점(Floating Point) 수

넓은 범위의 수 표현 가능, 정확하지 않은 값 (일반적으로 충분히 정확)

자료형표현 범위
FLOAT-3.402...E+38 ~ -1.175...E-38 , 0 , 1.175...E-38 ~ 3.402...E+38
DOUBLE-1.797...E+308 ~ -2.225E-308 , 0 , 2.225...E-308 ~ 1.797...E+308

문자 자료형

문자열

  • 자료형(s) : (s)조건은 해당 컬럼(열 데이터)에 몇글자를 쓸 것인지 숫자 S로 최대 개수 제한둔다.
자료형설명차지하는 바이트최대 바이트
CHAR(s)고정 사이즈(남는 글자 공백(스페이스)으로 채우는 것)s(고정값)255
VARCHAR(s)가변 사이즈실제 글자수[최대값 s] +1 [글자수정보]65,535

주의

  • 검색시 CHAR가 더 빠르다.
    (하지만? 무조건 좋은 것은 아닌데, 이유 : 비어있는 공간만큼 공백채워서 byte를 쓰기 때문에 쓸데없는 데이터를 더 쓸 가능성 이있다.)
  • VARCHAR 컬럼 길이 값이 4글자 보다 적을 경우 => CHAR로 자동 변한된다.

텍스트

문자열보다 더 긴 문자의 텍스트를 작성하는 컬럼(열 데이터)일 경우 사용한다. (ex) 게시판의 글)

자료형최대 바이트 크기
TINYTEXT255
TEXT65,535
MEDIUMTEXT16,777,215
LONGTEXT4,294,967,295

시간 자료형

  • DATE : 연,월,일
  • TUME : 시,몇,초
  • DATETIME : 시간 데이터를 가감없이 기록할 경우 사용
  • TIMESTAMP : 시간 자동기록, 국제적인 서비스를 할 경우사용
자료형설명비고
DATEYYYY-MM-DD
TIMEHHH:MI:SSHHH: -838 ~ 838까지의 시간
DATETIMEYYYY-MM-DD HH:MI:SS내가 입력한, 입력된 시간을 그 값 자체로 저장(어디서든 동일한 값)
TIMESTAMPYYYY-MM-DD HH:MI:SSMySQL이 설치된 컴퓨터의 시간대를 기준으로 저장, 각 국가의 시간대마다 달라짐
profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

0개의 댓글