Mysql使用入门(二)支持的数据类型

来源:互联网 发布:c语言函数调用过程 编辑:程序博客网 时间:2024/06/02 18:39

Mysql使用入门(二)支持的数据类型

  • Mysql使用入门二支持的数据类型
    • 数值类型
    • 日期时间类型
    • 字符串类型

  • 数值类型
  • 日期时间类型
  • 字符串类型

数值类型

整数类型 字节 最小值 最大值 TINYINT 1 有符号-128 无符号0 有符号127 无符号255 SMALLINT 2 有符号-32768 无符号0 有符号32767 无符号65535 MEDINUMINT 3 有符号-8388608 无符号0 有符号8388607 无符号1677215 INT、INTEGER 4 有符号-2147483648 无符号0 有符号2147483647 无符号4294967295 BIGINT 8 有符号-9223372036854775808 无符号0 有符号9223372036854775807 无符号18446744073709551615 浮点数类型 字节 最小值 最大值 FLOAT 4 +-1.175494351E-38 +-3.402823466E+38 DOUBLE 8 +-2.2250738585072014E-308 +-1.7976931348623157E+308 定点数类型 字节 描述 DEC(M,D),DECIMAL(M,D) M+2 最大值范围与DOUBLE相同,给定DECIMAL的有效取值范围由M和D决定 位类型 字节 最小值 最大值 BIT(M) 1~8 BIT(1) BIT(64)

(1)在整数类型中,如果超出类型范围的操作,会发生“out of range”错误提示。为了避免此类问题的发生,在选择数据类型时要根据应用的实际情况确定其取值范围,最后根据确定的结果慎重选择数据类型。
(2)对于整型数据,mysql还支持在类型名称后面的小括号内指定显示宽度,例如int(5)表示数值宽度小于5位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。
(3)float和double在不指定精度时,默认会按照实际的精度(有实际的硬件和操作系统决定)来显示,而decimal在不指定精度时,默认的整数位为10,默认的小数位为0。

日期时间类型

日期和时间类型 字节 最小值 最大值 DATE 4 1000-01-01 9999-12-31 DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59 TIMESTAMP 4 19700101080001 2038年的某个时刻 TIME 3 -838:59:59 838:559:59 YEAR 1 1901 2155

字符串类型

字符串类型 字节 描述及存储需求 CHAR(M) M M为0~255之间的整数 VARCHAR(M) M为0~65535之间的整数,值的长度+1个字节 TINYBLOB 允许长度0~255字节,值的长度+1个字节 BLOB 允许长度0~65535字节,值的长度+2个字节 MEDIUMBLOB 允许长度0~167772150字节,值的长度+3个字节 LONGBLOB 允许长度0~4294967295字节,值的长度+4个字节 IINYTEXT 允许长度0~255字节,值的长度+2个字节 TEXT 允许长度0~65535字节,值的长度+2个字节 MEDIUMTEXT 允许长度0~167772150字节,值的长度+3个字节 LONGTEXT 允许长度0~4294967295字节,值的长度+4个字节 VARBINARY(M) 允许长度0~M个字节的变长字节字符串,值的长度+1个字节 BINARY(M) M 允许长度0~M个字节的变长字节字符串

(1)char和varchar类型区别: char列的长度固定为创建表时声明的长度,而varchar列中的值为可变长字符串。在检索的时候,char列删除了尾部的空格,而varchar则保留这些空格。

0 0
原创粉丝点击