mysql笔记系列——数据类型问题

来源:互联网 发布:linux安装jdk报错 编辑:程序博客网 时间:2024/05/01 12:35

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
0 0
原创粉丝点击