MySQL 데이터형 및 크기

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : -128 에서 127 (UNSIGNED 일 경우 0 에 255)

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : -32768 에서 32767 (UNSIGNED 일 경우 0 에 65535)

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : -8388608 에서 8388607 (UNSIGNED 일 경우 0 에 16777215)

INT[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : -2147483648 에서 2147483647 (UNSIGNED 일 경우 0 에 4294967295)
– 주의 : 모든 연산은 “signed BIGINT” 로 이루어진다. 따라서 더하기 곱하기 등으로 “signed BIGINT” 의 범위를 벗어난다면 값이 틀려질 것이다.

NTEGER[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : INT 와 동일

BIGINT[(M)] [UNSIGNED] [ZEROFILL]
– 범위 : -9223372036854775808 에서 9223372036854775807 (UNSIGNED 일 경우 0 에 18446744073709551615)

FLOAT[(M,D)] [ZEROFILL]
– 범위 : -3.402823466E+38 에서 -1.175494351E-38, 0 그리고 1.175494351E-38 에서 3.402823466E+38
– 주의 : unsigned 를 설정할수 없다.

DOUBLE[(M,D)] [ZEROFILL]
– 범위 : -1.7976931348623157E+308 에서 -2.2250738585072014E-308, 0 그리고 2.2250738585072014E-308 에서 1.7976931348623157E+308
– 주의 : unsigned 를 설정할수 없다.

REAL[(M,D)] [ZEROFILL]
– 범위 : DOUBLE 과 동일

DATE
– 범위 : ‘1000-01-01’ 에서 ‘9999-12-31’
– 주의 : unsigned 를 설정할수 없다.

DATETIME
– 범위 : ‘1000-01-01 00:00:00’ 에서 ‘9999-12-31 23:59:59’

TIMESTAMP[(M)]
– 범위 : ‘1970-01-01 00:00:00’ 에서 2037

CHAR(M) [BINARY]
– 범위 : 1 에서 255 글자
– 주의 : 고정길이로 길이가 작은 값이 입력되면 오른쪽에 스페이스로 채워져서 입력된다. BINARY 키워드가 주어지지 않을 경우 대소문자 구분없이 검색한다.

VARCHAR(M) [BINARY]
– 범위 : 1 에서 255 글자
– 주의 : BINARY 키워드가 주어지지 않을 경우 대소문자 구분없이 검색한다.

TINYTEXT
– 범위 : 최대 255 글자

TEXT
– 범위 : 최대 65535 글자

MEDIUMTEXT
– 범위 : 최대 16777215 글자

LONGTEXT
– 범위 : 최대 4294967295 글자

ENUM(‘value1′,’value2’,…)
– 범위 : ‘value1’, ‘value2’, …, or NULL 만이 입력가능하다. 최대 65535 개의 다른 값이 들어갈수 있다.

SET(‘value1′,’value2’,…)
– 범위 : ‘value1’, ‘value2’, …, or NULL 만이 입력가능하다. 최대 64 개의 다른 값이 들어갈수 있다.

 

출처 : http://blog.lael.be/post/115

MYSQL에서 가장 최근 INSERT된 SEQUENCE가져오기

프로그램을 작성하다보면 가장 최근에 입력한 ID를 가져와야하는 경우가 있다. MAX(ID) + 1 로 입력한 경우는 값을 찾아서 가져와야 하지만

AUTO_INCREMENT로 가져오는경우는 아래의 쿼리로 가장최근에 입력한 ID를 가져온다.

SELECT LAST_INSERT_ID()