문자형
1.char
-문자형에서 가장 기본적인 형태의 자료형으로 영문,숫자,한글,특수기호 등의 문자를 입력할 수 있으며
범위는 1-255자(byte)까지이다
컬럼이름 char (크기)
예를들어 char (20)이라고 하였다면, 영문과 숫자를 기준으로 20자까지 입력이 가능하다
2.varchar
-char와 같은 자료형을 갖지만 차지하는 크기면에서 가변적인 성질을 갖는 자료형으로
char (20)인 컬럼에 "a"라는 문자만 입력했을 때 설정된 20byte를 차지하지만,
varchar (20)인 커럼에 "a"라는 문자만 입력했다면 a에 해당하는 1byte의 크기만 차지한다
용량에서는 경제적이지만 char보다 속도가 느리다는 단점이 있다.
3.text
-게시판의 본문등을 저장할때 사용되는 자료형으로,
장문형태의 문자열을 저장할때 사용되며, 크기의 지정없이 사용되지만 65536자까지만 저장이 가능하다
4.기타
- BLOB, TINYTEXT, LONGTEXT 등의 자료형이 더 있지만
실제로는 char, varchar, text 이 세가지 만으로도 모든 문자형 자료처리가 가능하므로 위의 것을 거의 쓰지 않는다
숫자형
1.int
-정수형 -2147483648~ 2147483647 까지 표현가능하며
int unsigned라고 해주면 양수인 0~4294967295까지 입력이 가능하다
컬럼이름 int
컬럼이름 int unsigned
[팁]
int (5) 라고 하면 5자리 숫자를 입력할 수 있다고 생각할 수 있지만, 그건 아니고
int는 크기를 제한해 주려면 int (크기) zerofill 이라고 해줘야 가능하다
또한 int (5) zerofill 컬럼에 2라는 자료형을 입력하였다면 2가 아닌 00002라는 값이 채워진다
컬럼이름 int (크기) zerofill
2.tynyint
-int보다 작은 범위의 정수형 입력할 때 사용
범위는 -128~127
tinyint unsigned라고 해주면 0~255까지 입력가능
컬럼이름 tinyint
컬럼이름 tinyint unsigned
컬럼이름 tinyint (크기) zerofill
3.기타
smallint -> -32768~32767
mediumint -> -8388608~8388607
bigint -> -9223372036854775808~9223372036854775807
double -> -1.7976931348623157E+308~-2.2250738585072014E-308
real -> -1.7976931348623157E+308~-2.2250738585072014E-308
float -> -3.402823466E+38 ~ -1.175494351E-38
날짜형
-거의 사용하지 않는다 (유닉스타임스탬프를 활용하면 어떠한 날짜로든 가공할 수 있기에)
하지만 날짜에 대한 전문적인 데이터를 다룰때 필요할 수도있다
date -> yyyy-mm-dd
datetime -> yyyy-mm-dd hh:ii:ss
timestamp -> yyyymmddhhiiss
time -> hh:ii:ss
year -> yyyy
열거형
-제한된 값 중 선택하도록 하는 자료형
선택가능한 값으로는 최대 65535개 까지가능
컬럼이름 enum ('값1', '값2', .......)
예를들어, test라는 컬럼에 Y, N이라는 값만 저장가능하도록 한다면
test enum ('Y', 'N')
으로 설정하면 된다
1.char
-문자형에서 가장 기본적인 형태의 자료형으로 영문,숫자,한글,특수기호 등의 문자를 입력할 수 있으며
범위는 1-255자(byte)까지이다
컬럼이름 char (크기)
예를들어 char (20)이라고 하였다면, 영문과 숫자를 기준으로 20자까지 입력이 가능하다
2.varchar
-char와 같은 자료형을 갖지만 차지하는 크기면에서 가변적인 성질을 갖는 자료형으로
char (20)인 컬럼에 "a"라는 문자만 입력했을 때 설정된 20byte를 차지하지만,
varchar (20)인 커럼에 "a"라는 문자만 입력했다면 a에 해당하는 1byte의 크기만 차지한다
용량에서는 경제적이지만 char보다 속도가 느리다는 단점이 있다.
3.text
-게시판의 본문등을 저장할때 사용되는 자료형으로,
장문형태의 문자열을 저장할때 사용되며, 크기의 지정없이 사용되지만 65536자까지만 저장이 가능하다
4.기타
- BLOB, TINYTEXT, LONGTEXT 등의 자료형이 더 있지만
실제로는 char, varchar, text 이 세가지 만으로도 모든 문자형 자료처리가 가능하므로 위의 것을 거의 쓰지 않는다
숫자형
1.int
-정수형 -2147483648~ 2147483647 까지 표현가능하며
int unsigned라고 해주면 양수인 0~4294967295까지 입력이 가능하다
컬럼이름 int
컬럼이름 int unsigned
[팁]
int (5) 라고 하면 5자리 숫자를 입력할 수 있다고 생각할 수 있지만, 그건 아니고
int는 크기를 제한해 주려면 int (크기) zerofill 이라고 해줘야 가능하다
또한 int (5) zerofill 컬럼에 2라는 자료형을 입력하였다면 2가 아닌 00002라는 값이 채워진다
컬럼이름 int (크기) zerofill
2.tynyint
-int보다 작은 범위의 정수형 입력할 때 사용
범위는 -128~127
tinyint unsigned라고 해주면 0~255까지 입력가능
컬럼이름 tinyint
컬럼이름 tinyint unsigned
컬럼이름 tinyint (크기) zerofill
3.기타
smallint -> -32768~32767
mediumint -> -8388608~8388607
bigint -> -9223372036854775808~9223372036854775807
double -> -1.7976931348623157E+308~-2.2250738585072014E-308
real -> -1.7976931348623157E+308~-2.2250738585072014E-308
float -> -3.402823466E+38 ~ -1.175494351E-38
날짜형
-거의 사용하지 않는다 (유닉스타임스탬프를 활용하면 어떠한 날짜로든 가공할 수 있기에)
하지만 날짜에 대한 전문적인 데이터를 다룰때 필요할 수도있다
date -> yyyy-mm-dd
datetime -> yyyy-mm-dd hh:ii:ss
timestamp -> yyyymmddhhiiss
time -> hh:ii:ss
year -> yyyy
열거형
-제한된 값 중 선택하도록 하는 자료형
선택가능한 값으로는 최대 65535개 까지가능
컬럼이름 enum ('값1', '값2', .......)
예를들어, test라는 컬럼에 Y, N이라는 값만 저장가능하도록 한다면
test enum ('Y', 'N')
으로 설정하면 된다