MySQL学习之旅第五天

1.列类型

1. 整形
  1. tinyint :迷你整形
    系统采用1个字节来保存的整形:1个字节 = 8位,最大能表示的数值为0 ~255,实际区间:-128 ~127
  2. smallint:小整形
    系统采用2个字节来保存的整形:2个字节 = 16位,最大能表示的数值为0~65535
  3. mediumint:中整形
    系统采用3个字节来保存的整形:3个字节 = 24位
  4. int:标准整形
    系统采用4个字节来保存的整形:4个字节 = 32位
  5. bigint:大整形
    系统采用8个字节来保存的整形:8个字节 = 64位
实际应用中,应根据对应数据范围选择对应的整形类型,通常使用的比较多的是:tinyint和int
2. 无符号标识设定

表示存储的数据在当前字段中无负数(只有正数)
基本语法:在类型在之后加上一个 unsigned

3. 显示长度

指数据(整形)在数据显示的时候,到底可以显示多少位
tinyint(3):表示最长可以显示3位,unsigned说明只能为正数,0~255最多只有3位
tinyint(4):表示最长可以显示4位,比上面多出一位符号位

显示长度只是代表数据是否可以达到指定的长度,但是不会自动满足到指定长度:如果想要数据显示时,保持最高位(显示长度),还需要给字段增加一个zerofill的属性

注:负数不能使用zerofill
zerofill   //从左侧开始填充0

一旦使用zerofill就相当于确定该字段为unsigned

2. 小数类型
1.浮点型:精度类型,是一种有可能丢失精度的数据类型

浮点数的应用:通常是用于保存一些数量特别大,大到不用那么精确的数据

浮点型之所以能够存储较大的数值,原因就是利用数据的位来存储指数
丢失精度:丢失精确度,数据可能不准确(尤其是在超出范围(精度长度)时)

  1. float:单精度类型,系统提供4个字节用于存储数据,但是能表示的数据范围比整形大得多,大概是1e38,缺陷为只能保证大概7个左右的精度(如果说数据在7位以内基本准确,超出后不准确)
    基本语法:
    float:表示不指定小数位的浮点数
    float(M,D):表示一共存储M个有效数字其中小数部分占D位
注:如果数据丢失,那么浮点型是按照四舍五入的方式进行计算
  1. double:双精度类型,系统用8个字节用于存储数据,范围大概是1e38,但是精度只有15位左右
2. 定点型:能够保证数据精确的小数类型(小数部分可能不精确,超出长度会四舍五入,但是整数部分会一定准确)

定点数的应用:如果涉及到钱的时候可能会用定点数

decimal:定点数,系统自动根据存储的数据来分配存储空间,每大概9位数就会分配4个字节来进行存储,且小数部分和整数部分是分开的
基本语法:decimal(M,D)
M:总长度,最大值不能超过65
D:小数部分长度,最大值不能超过30

定点与浮点区别:
在这里插入图片描述

3. 日期时间类型
  1. data:日期类型,系统使用三个字节来存储数据,对应格式:YYYY-mm-dd
    范围:1000-01-01 ~ 9999-12-12
    初始值为0000-00-00
  2. time:时间类型,能够表示某个指定时间,系统使用三个字节来存储数据,对应格式:HH:ii:ss
    范围:-838:59:59 ~ 838:59:59
    在mysql中具体用处为表示时间段
  3. datatime:日期时间类型,将前面data和time合并表示的时间,使用八个字节存储数据
    格式:YYYY-mm-dd HH-ii-ss
    范围:1000-01-01 00:00:00 ~ 9999-12-12 23:59:59
    初始值:0000-00-00 00:00:00
  4. timestamp:时间戳类型,mysql中的时间戳只是表示从格林威治时间开始,格式与tadatime相同
  5. year:年类型,占用一个字节来保存,能表示1900 - 2155年
    year有两种插入方式:
    1. 0-99
    2. 四位数的具体年
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值