Mysqlがサポートするデータ型
MySQL , 3 : 、 ( ) 。 , , 。 , , 。
MySQL 。 :
M
。 255 。
D
。 30, M-2。
(“[” “]”) 。
, ZEROFILL,MySQL UNSIGNED 。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
。 -128 127, 0 255。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
。 -32768 32767, 0 65535。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
。 -8388608 8388607, 0 16777215。
INT[(M)] [UNSIGNED] [ZEROFILL]
。 -2147483648 2147483647, 0 4294967295。
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
INT 。
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
。 -9223372036854775808 9223372036854775807, 0
18446744073709551615。 , BIGINT DOUBLE , 9223372036854775807(63 ) , ! , INTEGER ,-、+ * BIGINT ! 2 ( ), 9223372036854775807, 。 , , , <=24, , 25 53 , FLOAT DOUBLE 。FLOAT(X) FLOAT DOUBLE , 。 MySQL3.23 , 。 MySQL ,FLOAT(precision) 2 。 ODBC 。
FLOAT[(M,D)] [ZEROFILL]
( ) 。 。 -3.402823466E+38 -1.175494351E-38,0 1.175494351E-38 3.402823466E+38。M D 。 FLOAT <24 。
DOUBLE[(M,D)] [ZEROFILL]
( ) 。 。 -1.7976931348623157E+308 -2.2250738585072014E-308、 0 2.2250738585072014E-308 1.7976931348623157E+308。M D 。 DOUBLE FLOAT(X)(25 < = X < = 53) 。
DOUBLE PRECISION[(M,D)] [ZEROFILL]
REAL[(M,D)] [ZEROFILL]
DOUBLE 。
DECIMAL[(M[,D])] [ZEROFILL]
(unpack) 。 。 CHAR :“ ” , 。 , ,“-” M 。 D 0, 。DECIMAL DOUBLE , DECIMAL , M D 。 D , 0。 M , 10。 , MySQL3.22 ,M 。
NUMERIC(M,D) [ZEROFILL]
DECIMAL 。
DATE
。 '1000-01-01' '9999-12-31'。MySQL 'YYYY-MM-DD' DATE , DATE 。
DATETIME
。 '1000-01-01 00:00:00' '9999-12-31 23:59:59'。MySQL 'YYYY-MM-DD HH:MM:SS' DATETIME , DATETIME 。
TIMESTAMP[(M)]
。 '1970-01-01 00:00:00' 2037 。MySQL YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD YYMMDD TIMESTAMP , M 14( )、12、8 6, TIMESTAMP 。 TIMESTAMP INSERT UPDATE , , 。 NULL 。
TIME
。 '-838:59:59' '838:59:59'。MySQL 'HH:MM:SS' TIME , TIME 。
YEAR[(2|4)]
2 4 ( 4 )。 1901 2155, 0000(4 ), 2 ,1970-2069( 70-69)。MySQL YYYY YEAR , YEAR 。(YEAR MySQL3.22 。)
CHAR(M) [BINARY]
, , 。M 1 ~ 255 。 , 。CHAR , BINARY 。NATIONAL CHAR( NCHAR) ANSI SQL CHAR 。 MySQL 。CHAR CHARACTER 。
[NATIONAL] VARCHAR(M) [BINARY]
。 : , ( ANSI SQL )。M 1 ~ 255 。 VARCHAR , BINARY 。 VARCHAR CHARACTER VARYING 。
TINYBLOB
TINYTEXT
BLOB TEXT , 255(2^8-1) 。
BLOB
TEXT
BLOB TEXT , 65535(2^16-1) 。
MEDIUMBLOB
MEDIUMTEXT
BLOB TEXT , 16777215(2^24-1) 。
LONGBLOB
LONGTEXT
BLOB TEXT , 4294967295(2^32-1) 。
ENUM('value1','value2',...)
。 , 'value1'、'value2', ..., NULL。 ENUM 65535 。
SET('value1','value2',...)
。 , 'value1', 'value2', ... 。 SET 64 。
参考資料:http://hi.baidu.com/iamcay