SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
SMALLINT는 -32,768에서 32,767까지의 정수를 저장할 수 있는 데이터 타입입니다. UNSIGNED를 붙이면 0에서 65,535까지 저장할 수 있습니다. 여기서도 M은 사용하지 말고 SMALLINT만 명시하세요.
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
MEDIUMINT는 SMALLINT보다 더 큰 정수를 입력할 때 사용합니다. -8,388,608에서 8,388,607까지 저장할 수 있고, UNSIGNED를 명시하면 0에서 16,777,215까지 저장할 수 있습니다.
INT[(M)] [UNSIGNED] [ZEROFILL]
INT는 -2,147,483,648에서 2,147,483,647까지, UNSIGNED를 명시하면 0에서 4,294,967,295까지 저장할 수 있습니다. 음수를 포함하면 대략 -21억에서 21억까지입니다. INT 대신 INTEGER라고 명시해도 되며 이 둘은 같은 의미입니다.
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
BIGINT는 숫자 범위가 -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지로, 조를 넘어서 경까지 숫자를 저장할 수 있습니다. UNSIGNED를 명시하면 0에서 18,446,744,073,709,551,615까지 가능합니다. 이름처럼 큰 정수를 입력할 수 있지만, 커도 너무 크죠. 이처럼 음수를 포함해 21억이 넘는 정수는 BIGINT를 사용하면 됩니다.
지금까지 숫자형 데이터 타입 중에서 정수형을 알아봤습니다. 아무리 큰 숫자를 입력하더라도 정수형은 정수만 입력할 수 있습니다. 소수점이 있는 실수는 사용할 수 없죠. 가령 INT로 선언한 후 10.43이란 값을 입력하면 소수점 이하 첫째 자리를 기준으로 반올림해 소수점 이하 숫자는 잘리고 10이 입력됩니다. 10.53은 소수점 이하 첫째 자리가 5이므로 반올림해 11이 입력됩니다. 입력할 때 오류는 발생하지 않지만, 정확한 값이 입력되지 않죠. 그래서 소수점이 있는 실수는 실수형을 사용해야 합니다.