구 분 |
데이터 형식 | 범위 및 특징 |
문 자 형 |
- MySQL 5.0은 문자 유닛의 문자 컬럼 정의문에 있는 길이 지정문을 해석한다.(이전 버전은, MySQL 길이를 바이트 단위로 해석한다.) - CHAR, VARCHAR, 그리고 TEXT 타입의 경우, BINARY 속성은 컬럼이 컬럼 문자 셋의 바이너리 콜렉션에 할당되도록 한다.(이전 버전의 경우, BINARY는 컬럼이 바이너리 스트링을 저장하도록 한다.) - 문자 컬럼에 대한 정렬 및 비교는 컬럼에 할당된 문자 셋을 기반으로 한다.(이전 버전의 경우, 정렬 및 비교는 서버의 문자 셋 콜렉션을 기반으로 하였다.) CHAR 및 VARCHAR 컬럼의 경우, 여러분은 컬럼을 바이너리 콜렉션 또는 BINARY 속성으로 선언해서 정렬 및 비교가 어휘 순서가 아닌 문자 코드 값으로 실행되도록 만들 수가 있다. | |
[NATIONAL] CHAR(M) [BINARY | ASCⅡ | UNICODE] | 고정 길이 스트링이며, 저장될 때 지정된 길이를 맞추기 위해 오른쪽에 스페이스를 항상 집어넣는다. M은 컬럼길이를 나타내며, M의 범위는 0에서 255문자이다. | |
CHAR | CHAR(1)과 동의어 임. | |
[NATIONAL] VARCHAR(M) [BINARY] | 변수 길이 스트링. M은 최대 컬럼 길이를 나타낸다. MySQL 5.0에서는, M의 범위가 5.0.3 버전까지는 0에서 255까지 이고, 5.0.3 및 그 이후 버너에서는 0에서 65535까지다. | |
VARCHAR | 필요한 만큼 많은 문자를 사용해서 저장되며, 길이를 기록하기 위해 1바이트가 추가된다. (225보다 길게 선언된 컬럼의 경우에는 1바이트가 추가됨) | |
BINARY(M) | BINARY 타입은 CHAR 타임과 유사하지만, 비 바이너리 문자 스트링이 아닌 바이너리 바이트 스트링으로 저장을 한다. | |
VARBINARY(M) | VARBINARY 타입은 VARCHAR 타임과 유사하지만, 비 바이너리 문자 스트링이 아닌 바이너리 바이트 스트리으로 저장된다. | |
TINYBLOB | 225(28-1) 바이트의 최대 길이를 사용하는 BLOB 컬럼. | |
TINYTEXT | 255(28-1) 문자 최대 길이를 사용하는 TEXT 컬럼 | |
BLOB[(M)] | 65535(216-1) 바이트 최대 길이를 사용하는 BLOB컬럼 옵션 길이 M 을 줄 수도 있다. 이것을 지정하면, MySQL은 M 바이트 길이의 값을 가지기 위한 가장 작은 BLOB타입 형태로 컬럼을 생성한다. | |
TEXT[(M)] | 65535(216-1) 문자 최대 길이를 사용하는 TEXT 컬럼. 옵션 길이 M을 줄 수도 있다. 이것을 지정하면, MySQL은 M바이트 길이의 값으 ㄹ가지기 위한 가장 작은 TEXT타입 형태로 컬럼을 생성한다. | |
MEDIUMBLOB | 16777215(224-1) 바이트 최대 길이를 사용하는 BLOB 컬럼. | |
MEDIUMTEXT | 16777216(224-1) 문자 최대 길이를 사용하는 TEXT 컬럼. | |
LONGBLOB | 4294967295 또는 4GB(232-1) 바이트의 최대 길이를 사용하는 BLOB컬럼. LONGBLOB 컬럼의 최대 유효 길이는 클라이언트/서버 프로토콜에서 구성되어 있는 최대 패킷 크기와 사용가능한 메모리의 크기에 달려 있다. | |
LONGTEXT | 4294967295 또는 4GB(232-1) 바이트의 최대 길이를 사용하는 TEXT컬럼. LONGTEXT 컬럼의 최대 유효 길이는 클라이언트/서버 프로토콜에서 구성되어 있는 최대 패킷 크기와 사용가능한 메모리의 크기에 달려 있다. | |
ENUM('value1', 'value2', ...) | 계산식(enumeration). 오직 하나의 값만을 가질 수 있는 스트링 오브젝트로써, 그 값을 'value1', 'value2', ..., NULL 또는 특수 '' 에러 값에서 선택한다. ENUM 컬럼은 최대 65535개의 개별 값을 가질 수 있다. ENUM 값은 내부적으로 정수 값으로 표현된다. | |
SET('value1', 'value2', ...) | 셋. 0(zero) 또는 그 이상의 값을 가질 수 있는 스트링 오브젝트로써, 각각의 값은 'value1', 'value2', ... 리스트에서 선택되어야 한다. SET 컬럼은 최대 64개의 요소로 구성될 수 있다. SET 값은 내부적으로는 정수값이다. | |
숫 자 형 |
- M은 정수 타입의 최대 출력 폭을 나타낸다. 부동 소수점 및 고정 소수점 타입의 경우, M은 전체 자리 수를 가리킨다. 스트링 타입의 경우, M 은 최대 길이를 나타낸다. M의 최대 사용가능 값은 데이터 타입에 따라 다르다. - D는 부동 소수점과 고정 소수점 타입에 적용되며, 소수점 뒷자리의 수를 나타낸다. 최대 가능값은 30이지만, M-2 이상 될 수는 없다. - 스퀘어 괄호(Square brackets)('[' and ']')은 타입 정의의 옵션 파트를 나타낸다. | |
BIT[(M)] | 비트-필드 타입. M은 값당 비트 수를 나타내며, 1에서 64사이의 값을 갖는다. 생략시 1이된다. 이 데이터 타입은 MyISAM에 대해서는 5.0.3에서 추가 되었고, MEMORY, InnoDB, 그리고 BDB에 대한 확장으로 5.0.5에서 추가되었다. 5.0.3 이전에는, BIT틑 TINYINT(1)과 동의어이다. | |
TINYINT[(M)] [UNSIGNED] [ZEROFILL] | 매우 작은 정수. 부호 범위는 -128에서 127까지 이다. 부호가 없다면 0에서 225까지 이다. | |
BOOL, BOOLEAN | 이 타입들은 TINYINT(1)과 동의어 이다. 0의 값은 거짓으로 간주 된다. 0이 아닌 값은 진실로 처리된다. | |
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] | 작은 정수. 부호가 있는 범위는 -32768에서 32767까지 이다. 부호가 없다면 0에서 65535까지 임 | |
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] | 중간크기의 정수. 부호가 있으면 -8388608에서 8388607까지 이고, 부호가 없다면 0에서 16777215까지 임. | |
INT[(M)] [UNSIGNED] [ZEROFILL] INTEGER[(M)] [UNSIGNED] [ZEROFILL] |
일반적인 크기의 정수. 부호 범위는 -2147483648에서 2147483647까지 이고, 부호가 없으면 0에서 4294967295까지 임. | |
BIGINT[(M)] [UNSIGNED] [ZEROFILL] | 큰 크기의 정수. 부호 범위는 -9223372036854775808에서 9223372036854775807까지 이고, 부호가 없으면 0에서 18446744073709551615까지 임. | |
FLOAT[(M, D)] [UNSIGNED] [ZEROFILL] | 작은(단일 정밀도) 부동 소수점 수. 사용 가능한 값은 -3.402823466E+38에서 -1.175494351E-38, 0이고 , 그리고 1.175494351E-38에서 3.402823466E+38까지다. 이 범위는 이론적인 한계이고, IEEE 표준에 근거를 하고 있다. | |
DOUBLE[(M, D)] [UNSIGNED] [ZEROFILL] DOUBLE PRECISION[(M, D)] [UNSIGNED] [ZEROFILL] REAL[(M, D)] [UNSIGNED] [ZEROFILL] |
일반 크기(이중 정밀도)의 부동 소수점 숫자. 사용 가능 값은 -1.7976931348623157E+309에서 -2.2250738585074014E-038, 0, 그리고 2.2250738585072014E-308에서 1.7976931348623157E+308까지다. 이 범위는 이론적인 한계이고, IEEE 표준에 근거를 하고 있다. | |
FLOAT(p) [UNSIGNED] [ZEROFILL] | 부동 소수점 숫자. p는 비트 정밀도를 가리키지만, MySQL은 결과 데이터 타입으로 FLOA 또는 DOUBLE을 사용할 지를 결정할 때에만 이 값을 사용한다. | |
DECIMAL[(M[, D])] [UNSIGNED] [ZEROFILL] | MySQL 5.0.3 및 이후 버전에만 해당 묶음 고정 소수점 숫자. M은 전체 자릿수를 가리키고(정밀도) D는 소수점 뒷자리수를 나타낸다(Scale). 소수점 및 음수 부소 '-'는 M에 포함되지 않는다. 만일 D가 0이라면, 값은 소서점 또는 분수를 가지지 않는다. DECIMAL에 대한 최대(M) 자리수는 65(5.0.3에서 5.0.5까지는 63)다.(D)의 최대 지원 숫자는 30이다. 만일 D가 생략되면, 디폴트는 0이다. 만일 M이 생략되면, 디폴트는 10이다. UNSIGNED를 지정하면, 음수 값을 사용할 수 없다. DECIMAL 컬럼을 사용하는 모든 기본 계산(+, -, *, /)는 65자리수를 가지고 계산된다. | |
DEC[(M[, D])] [UNSIGNED] [ZEROFILL] NUMERIC[(M[, D])] [UNSIGNED] [ZEROFILL] FIXED[(M[, D])] [UNSIGNED] [ZEROFILL] |
DECIMAL과 동의어다. FIXED 동의어는 다른 데이터베이스 시스템과의 호환을 위해서 사용하는 것이다. | |
날 자 및 시 간 |
DATE | 날짜. 지원 범위는 '1000-01-01'에서 '9999-12-31'까지 임. MySQL은 DATE 값을 'YYYY-MM-DD' 포멧으로 출력하지만, 스트링 또는 숫자를 사용해서 DATE 컬럼에 값을 할당할 수 있게 한다. |
DATETIME | 날짜와 시간 결합. 지원 범위는 '1000-01-01 00:00:00' 에서 '9999-12-31 23:59:59'까지 임. MySQL은 DATETIME 값을 'YYYY-MM-DD HH:MM:SS' 포맷으로 출력하지만, 스트링 또는 숫자를 사용해서 DATE 컬럼에 값을 할당할 수 있게 한다. | |
TIMESTAMP[(M)] | 타임스탬프. 범위는 '1970-01-01 00:00:00'에서 2037까지 임. | |
TIME | 시간. 범위는 '-838:59:59'에서 '838:59:59'까지 임. MySQL은 TIME 값을 'HH:MM:SS' 포멧으로 출력하지만, 스트링 또는 숫자를 사용해서 TIME 컬럼에 값을 할당할 수도 있다. | |
YEAR[(2/4)] | 두 자리 또는 네 자리 포맷의 연도. 디폴트는 네 자리 포맷이다. 네 자리 포맷의 경우, 사용가능한 값은 1901에서 2155까지 이며, 그리고 0000이 있다. 두 자리 포맷의 경우에는, 사용 가능한 값의 멉위가 70에서 69까지 이며, 1970에서 2069까지를 의미하는 것이다. MySQL은 YEAR 값을 YYYY 포멧으로 표현하지만, 스티링 또는 숫자를 사용해서 YEAR 컬럼에 값을 할당할 수가 있다. |
728x90
댓글