mysql中有哪些数据类型
在sql命令窗口下输入show character set;可查看服务器所支持的字符集
关于mysql的数据类型详细说明见【mysql官方手册中文版】http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/column-types.html#enum
字符型数据类型
- CHAR
1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1)- VARCHAR
可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符的变长串- TEXT
最大长度为64K的变长文本- TINYTEXT
同TEXT,最大长度为255字节- MEDUIMTEXT
同TEXT,最大长度为16K- LONGTEXT
同TEXT,最大长度为4GB(纯文本,一般不会到4G)- ENUM
接受最多64K个串组成的预定义集合的某个串- SET
接受最多64K个串组成的预定义集合的零个或多个串
数值数据类型
- tinyint[(m)]:1字节
有符号值:-128 到127(- 2^7 到2^7 – 1)
无符号值:0到255(0 到2^8 – 1)- smallint[(m)]:2字节
有符号值:-32768 到32767(- 2^15 到2^15 – 1)
无符号值:0到65535(0 到21 6 – 1)- mediumint[(m)]:3字节
有符号值:-8388608 到8388607(- 2^23 到2^23 – 1 )
无符号值:0到16777215(0 到2^24 – 1)- int[(m)]:4字节
有符号值:-2147683648 到2147683647(- 2^31 到2^31- 1)
无符号值:0到4294967295(0 到2^32 – 1)- bigint[(m)]:8字节
有符号值:-9223372036854775808 到9223373036854775807(- 2^63到2^63-1)
无符号值:0到18446744073709551615(0到2^64 – 1)- float[(m, d)]:4字节
最小非零值:±1.175494351e – 38- double[(m, d)]:8字节
最小非零值:±2.2250738585072014e – 308- decimal (m, d):m字节(mysql < 3.23),m+2字节(mysql >= 3.23 )
可变;其值的范围依赖于m 和d
日期和时间数据类型
- DATE:4字节
取值范围 1000-01-01——9999-12-31- TIME:3字节
取值范围 -838:59:59——838:59:59
详细解释见http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/column-types.html#time 的11.3.2- DATETIME: 8字节
取值范围 1000-01-01 00:00:00——9999-12-31 23:59:59- TIMESTAMP:4字节
取值范围 1970-01-01 08:00:01——2038-01-19 11:14:07- YEAR:1字节
取值范围 1901——2155
mysql数据类型与java数据类型对应关系
- VARCHAR——java.lang.String
- CHAR——java.lang.String
- BLOB——java.lang.byte[]
- TEXT——java.lang.String
- INTEGER——java.lang.Long
- TINYINT——java.lang.Integer
- SMALLINT——java.lang.Integer
- MEDIUMINT——java.lang.Integer
- BIT——java.lang.Boolean
- BIGINT——java.math.BigInteger
- FLOAT——java.lang.Float
- DOUBLE——java.lang.Double
- DECIMAL——java.math.BigDecimal
- BOOLEAN——同TINYINT(除长度为1字节)
- DATE——java.sql.Date
- TIME——java.sql.Time
- DATETIME——java.sql.Timestamp
- TIMESTAMP——java.sql.Timestamp
- YEAR——java.sql.Date