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

本文详细介绍了MySQL支持的各种数据类型,包括数值类型、日期时间类型和字符串类型等,并提供了每种类型的字节大小、取值范围及其特点说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

数值类型

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

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

日期时间类型

日期和时间类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-838:59:59838:559:59
YEAR119012155

字符串类型

字符串类型字节描述及存储需求
CHAR(M)MM为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则保留这些空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值