mysql 列类型概述

1.数值类型

(1)整型

                   

        int系列的数值类型声明时的参数包括 unsigned 、(M)、zerofill

  •    unsigned 表示无符号,即只有正数
  • (M)指定整数值的显示宽度。当和zerofill 配合使用时,表示零填充的位数
  •    zerofill  表示零填充,默认补充的空格用零代替。如果为一个数值列指定zerofill,MySQL自动为该列添加unsigned属性,因为负数一般不需要零填充。

(2)小数型

        浮点型系列的数值类型声明时的参数包括 float(M,D)、decimal(M,D)

  • M叫精度,代表总位数(包括小数点前后所有的位数)
  • D叫标度,代表小数位(小数点后面的位数)
  • 当M<24,M占4个字节,否则占8个字节
  • decimal 同样用来表示小数,他叫定点,是把整数和小数分开存储的,比float更精确

 

2.字符串类型

                 这里主要分析 char varchar text blob

  • char(M) 是定长字符串,其中M表示列长度,取值范围为0~255,对于定长M来说,无论它是否占满M,都会用空格补齐(取数据时再将空格删掉),因此存在数据丢失风险,即如果数据右侧有空格,则取出时不会将空格取出。同时,由于它是定长,查询记录时可以很快确定偏移量,因此效率较高。
  • varchar(M) 是变长字符串,M表示最大列长度,取值范围为0~65535,它不存在用空格填充,字符串本身多大,它就占多大的长度。为了缩短查询的时间,它存储时用一个或两个字节的前缀,表示当前字符串的长度,当M>255时,字节前缀为2个字节,否则为一个字节,vachar速率不及char。
  • text 是文本类型,存储较大的文本段,查询搜索速度较慢,声明text列时,不必给默认值。
  • blob (Binary Large Object) 是二进制类型,它就是使用二进制保存数据,用来存储图像、音频等二进制信息。

3.日期和时间类型

类型字节数说明标准格式

YEAR

1年份YYYY

DATE

3日期YYYY-MM-DD

TIME

3时间HH:MM:SS

TIMESTAMP

4时间戳

00000000000000

DATETIME

8日期时间YYYY-MM-DD HH:MM:SS

        注:TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。

        只有将其默认值定义为CURRENT_TIMESTAMP,该列才可以自动更新时间,

        例:

                                              

                                              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值