숫자형 데이터란 숫자의 값을 저장하는 유형입니다. 컴퓨터는 우리가 수학적으로 알고 있 는 모든 가능한 수를 다 표현을 할 수 없습니다. 그 이유는 컴퓨터는 모든 데이터를 2진수 의 비트 값으로 처리하기 때문입니다.
컴퓨터는 2진법과 데이터 비트 수의 한계로 정확한 값을 표현하는 정수형 타입과 근사값 을 표현하는 부동소수점 타입으로 구분할 수 있습니다. MySQL에서는 정수의 데이터 타 입을 데이터 비트의 크기별로 다섯 가지로 구분합니다. 부동소수형은 크게 float형과 double형으로 구분됩니다.
부동소수형 일반점으로 점 (.)을 포함하는 실수의 값을 처리합니다. 이때 소수형 앞에 있는 부동이라는 의미는 소수점의 위치가 고정되어 있지 않다는 의미입니다. 표현해야 하는 숫자의 크기에 따라서 유효한 범위의 소수점 자리가 변경됩니다.
숫자는 처리 보관하는 바이트 크기에 따라서 표현할 수 있는 숫자의 범위가 달라집니다. 따라서 정확한 유효 숫자를 통하여 크기를 결정을 하는 것은 데이터의 저장 공간을 효율 적으로 사용하는 데 매우 중요합니다.
07.1.1 INT
int형은 가장 기본적인 숫자형 데이터 타입입니다. 정수형 자료의 선언할 때는 컬 럼명 뒤에 int (자릿수) 형태로 선언하면 됩니다. 정수형 타입은 4바이트의 크기로 -2147483648~2147483647
사이의 정수값을 저장할 수 있습니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 int(11),
….
}
정수형 타입의 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이 블에 새로운 정수형 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 int(11);
07.1.2 TINYINT
tinyint형은 기본 int형 데이터 타입보다 작은 정수형 타입입니다. 타입 선언 방법은 컬럼 명 뒤에 tinyint(자릿수) 형태로 선언하면 됩니다. tinyint형은 1바이트 크기의 저장 공간 으로 -128~127 사이의 값을 저장할 수 있습니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 tinyint(2),
….
}
tinyint 정수 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블 에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 tinyint(2);
07.1.3 SMALLINT
smallint형은 기존 16비트 타입의 값을 가지는 정수 데이터형입니다. 정수형 자료의 선언 은 컬럼명 뒤에 smallint(자릿수) 형태로 선언합니다. smallint형은 2바이트 크기의 저장 공간으로 -32768~32767 사이의 값을 저장할 수 있습니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 smallint(5),
….
}
smallint 정수 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이 블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 smallint(5);
07.1.4 MEDIUMINT
mediumint형은 3바이트의 크기로 -8388608~8388607 사이의 값을 저장하는 자료형 입니다. 정수형 자료의 선언은 컬럼명 뒤에 mediumint(자릿수) 형태로 선언합니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 mediumint(9),
….
}
smallint 정수 데이터형은 테이블 생성 시에 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 mediumint(9);
07.1.5 BIGINT
bigint형은 8바이트 크기로 -92233772036854775808~9223372036854775807 사이 의 정수값을 저장하는 자료형입니다. bitint형은 가장 큰 숫자의 정수값을 표현할 수 있습 니다. 정수형 자료의 선언은 컬럼명 뒤에 bigint(자릿수) 형태로 선언합니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 bigint(19),
….
}
bigint 정수 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블 에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 bigint(19);
07.1.6 FLOAT
float형은 가장 일반적으로 많이 사용을 하는 부동소수형 데이터 타입입니다. 우리가 일 반적으로 알고 있는 소수점을 포함하는 실수를 저장합니다.
컴퓨터에서 실수의 표현은 2진법의 컴퓨터 데이터 비트의 한계에 따라서 값이 정확하지 않은 근사값으로 표현을 합니다. float형은 정밀도가 표시되지 않은 경우에는 4바이트의 크기를 가지며 유효 자릿수 8개를 유지합니다.
컬럼명 뒤에 float()
형태로 선언합니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 float(3,2),
….
}
float 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로 운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 float(3,2);
부동소수점의 값은 컴퓨터의 근사값입니다. 만일, MySQL을 마스터-슬레이브 형태의 다수 모델로 설계하여 처리할 때 유효 자릿수를 넘어서는 부분들은 서로 달라질 수 있습 니다.
07.1.7 DOUBLE
double형은 float형보다 더 큰 부동소수점을 표기하고 저장할 수 있습니다. double형은 8바이트의 저장공간을 사용합니다. 또한 유효 자리수를 16개를 유지합니다.
컬럼명 뒤에 double() 형태로 선언하면 됩니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` ( 컬럼명 double(4,3), ….
}
double 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 double(4,3);
07.1.8 DECIMAL
float형과 double형 같은 데이터 타입은 부동소수점으로 유효 범위 외의 값들은 정확하 지 않습니다. decimal 타입은 고정소수점 형태의 데이터 타입입니다. decimal 타입은 고정소수점으로 최대 자릿수는 65자, 소수점은 30자리까지 지정할 수 있습니다.
컬럼명 뒤에 double() 형태로 선언하면 됩니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` ( 컬럼명 decimal(10,2), ….
}
decimal 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 decimal(10,2);