프로그래밍 언어/SQL

[SQL] 자료형

ShovelingLife 2024. 4. 30. 18:12

컬럼의 자료형

1) 숫자형     TINYINT, INT, FLOAT

2) 문자형     CHAR, VARCHAR, TEXT, ENUM

3) 날짜형     DATE, DATETIME, TIMESTAMP

 

숫자형 자료형

1) TINYINT

- 가장 작은 숫자 자료형.

- 부호가 있는 경우 -128 ~ 127.

             - 부호가 없는 경우 0 ~ 255.
             - 1byte 크기를 갖는다.

 

2) SMALLINT

- 부호가 있는 경우 -32768 ~ 32767.

- 부호가 없는 경우 0 ~ 65535.
- 2bytes 크기를 갖는다.


3) MEDIUMINT

- 부호가 있는 경우 -8388608 ~ 8388607.
- 부호가 없는 경우 0 ~ 16777215.
- 3bytes 크기를 갖는다.

 

4) INT

- 일반적인 숫자 자료형.
- 부호가 있는 경우 -2147483648 ~ 2144483647.
- 부호가 없는 경우 0 ~ 4294967295.
- 4bytes 크기를 갖는다.


5) INTEGER

- INT와 표기법만 다르고 같다.

 

6) BIGINT

- 부호가 있는 경우 -922337036854775808 ~ 922337036854775807.
- 부호가 없는 경우 0 ~ 18446744073709551615
- 8bytes 크기를 갖는다.

 

7) FLOAT

- 최소 +_1.175494351E-38 ~ 최대 +_3.402823466E_38.
- 4bytes 크기를 갖는다.

 

8) DOUBLE

- 최소 ±1.7976931348623157E-308 ~ 최대 ±2.2250738585072014E+308.
- 8bytes 크기를 갖는다.

 

9) DECIMAL

- 소수를 저장하는 용도로 사용.

- 내부적으로는 문자 형태로 저장되는 타입이다.
- 예를 들어, 3.141592 은 3 이 char 하나의 공간에 저장된다. 나머지 소수 한자리도 마찬가지다.

문자형 자료형

1) CHAR

- CHAR(0) 도 지원한다.
- CHAR(M)에서 실제값이 M만큼의 글자 수보다 작을 때 남는 자릿수만큼 공백을 붙여서 저장한다.

- 즉, 지정한 크기만큼 공백을 붙여서라도 모두 사용한다는 뜻이다.
- 1부터 최대 255 의 자릿수를 지원하며, CHAR(M)애서 M으로 지정한 용량만큼 바이트를 사용.

- "입력한글자수" bytes 사용.

 

2) VARCHAR

- 지정할 수 있는 길이(M)는 1 ~ 255 글자 수 지정.

- VARCHAR(M)에서 사용한 길이(N)까지만 사용해서 저장.
- char 형보다 기억장치를 효율적으로 입력한 글자 길이 만큼만 사용할 수 있다.

- "입력한글자수"+1 bytes 사용.


3) TINYBLOB

- 최대 255개의 문자를 저장.

- "지정한 용량"+1 byte의 용량 사용.

 

4) TINYTEXT

- TINYBLOB와 사용 형태가 같지만 text라는 명명의 의미가 같다.


5) BLOB

- 최대 65535 개의 문자를 저장.

- "지정한 용량"+2 byte의 용량 사용.

 

6) TEXT

- BLOB와 사용 형태가 같지만 text라는 명명의 의미가 같다.

 

7) MEDIUMBLOB

- 최대 16777215 개의 문자를 저장.

- "지정한 용량"+3 byte의 용량 사용.

 

8) MEDIUMTEXT

- MEDIUMBLOB와 사용 형태가 같지만 text라는 명명의 의미가 같다.

9) LONGBLOB

- 최대 429496729 개의 문자를 저장.

- "지정한 용량"+4 byte의 용량 사용.

 

10) LONGTEXT

- LONGBLOB와 사용 형태가 같지만 text라는 명명의 의미가 같다.

11) ENUM

- 입력한 문자형태의 값을 숫자로 저장.
- value 중에 하나만 저장하며,

- value가 ~255인 경우에는 1 byte 사용.
- value가 256 ~ 65535인 경우에는 2 bytes 사용.

날짜형 자료형

1) DATE

- '1001-01-01' ~ '9999-12-31' 를 저장할 수 있다.
- 저장 용량은 3bytes가 필요.

- 'YYYY-MM-DD' 와 같은 형식.


2) DATETIME

- 날짜와 시간을 같이 저장한다.
- '1001-01-01 00:00:00' ~ '9999-12-31 23:59:59' 를 저장할 수 있다.
- 저장 용량은 8bytes가 필요.

- 'YYYY-MM-DD HH:MM:SS' 와 같은 형식.

3) TIMESTAMP

- '1970-01-01 00:00:00' 이후부터 초를 숫자로 저장하는 자료형.
- 저장 용량은 4bytes가 필요.
- 약 40억초를 저장할 수 있으므로 2037년까지의 값을 다룰 수 있다.

 

4) TIME

- '-838:59:59' 에서 '838:59:59' 를 저장할 수 있다.
- 저장 용량은 3bytes가 필요.
- 'HH:MM:SS '와 같은 형식.

 

5) YEAR

- 연도만 저장하는 자료형.
- year(n)? 와 같은 형식.
- n 은 2와 4를 지정할 수 있다.

- n이 2인 경우에 값의 범위는 70 에서 69 .
- n이 4인 경우에는 1970 에서 2069 .
- 저장 용량은 1byte를 사용.

 

https://interconnection.tistory.com/100