컬럼의 자료형
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를 사용.
'프로그래밍 언어 > SQL' 카테고리의 다른 글
[데이터베이스] 스키마란? 개념 스키마, 내부 스키마, 외부 스키마 (1) | 2024.05.27 |
---|---|
[데이터베이스] 용어 정리 - 릴레이션, 어트리뷰트, 튜플, 도메인, 차수, 카디널리티, 스키마 (1) | 2024.05.27 |
[SQL] 데이터베이스 키(KEY) 종류 (0) | 2023.12.29 |
[SQL] DATETIME 원하는 유형으로 변경 (YYMMDD) (0) | 2023.12.29 |
[SQL] 스칼라 함수 (0) | 2023.12.21 |