Mysql数据类型

数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。

1、整数类型

整数类型有 tinyintsmallintmediumintintbigint,其属性字段可以添加unsigned无符号、 auto-increament 自增约束条件

类型名称占用空间存储有符数值范围存储无符数值范围
tinyint1个字节-2^7 ~ 2^7-10~2^8-1
smallint2个字节-2^15 ~ 2^15-10~2^16 -1
mediumint3个字节-2^23 ~ 2^23-10~2^24-1
int4个字节-2^31 ~ 2^31-10~2^32-1
bigint8个字节-2^39 ~ 2^39-10~2^40-1

2、浮点类型

单精度浮点数float和双精度浮点数double定点类型decimal

3、字符串类型

字符串类型charvarchartinytexttextmediumtextlongtext,存储非二进制字符串

类型名称占用空间
charM 字节,1<=M<=255
varcharL+1字节,在此,L< = M和 1<=M<=2^16-1
tinytextL+1字节,在此,L<2^8
textL+2字节,在此,L<2^16
mediumtextL+3字节,在此,L<2^24
longtextL+4字节,在此,L<2^32

varchar(m) 是长度可变的字符串,m 表示最大列的长度。varchar 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1(字符串结束字符)。

4、日期和时间类型

表示日期的数据类型:yeartimedatedatetimetimestamp
每一个类型都有合法的取值范围,当指定确定不合法的值时,系统将“零”值插入数据库中。

类型名称日期格式日期范围占用空间
yearYYYY1901 ~ 21551 个字节
timeHH:MM:SS-838:59:59 ~ 838:59:593个字节
dateYYYY-MM-DD1000-01-01 ~ 9999-12-33个字节
timestampYYYY-MM-DD HH:MM:SS1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC4个字节
datetimeYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:598个字节
4.1、year类型
  • 以 4 位字符串或者 4 位数字格式表示的 YEAR
  • 以 2 位字符串格式表示的year,范围为 ‘00’ 到 ‘99’,‘00’~’69’ 和 ‘70’~’99’ 范围的值分别被转换为 2000~2069 和 1970~1999 范围的 YEAR 值。‘0’ 与 ‘00’ 的作用相同。插入超过取值范围的值将被转换为 2000。
  • 以 2 位数字表示的year,范围为 1~99,1~99 和 70~99 范围的值分别被转换为 2001~2069 和 1970~1999 范围的 YEAR 值。注意,在这里 0 值将被转换为 0000,而不是 2000。
4.2、date类型
  • 以 ‘YY-MM-DD’ 或者 ‘YYMMDD’ 字符串格式表示日期,在这里YY表示两位的年值,2 位字符串格式表示的‘YY’,规则同year
  • 以 YYMMDD 数字格式表示的日期,与前面相似。
  • Mysql 允许“不严格”语法:任何标点符号都可以用作日期部分之间的间隔符。例如,‘98-11-31’、‘98.11.31’、‘98/11/31’和’98@11@31’ 是等价的,这些值也可以正确地插入数据库。
  • datetime同date
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值