MYSQL学习笔记 第三讲:数据类型

第三讲:数据类型

1.列类型

        ①数值型:ⅰ.整数型:tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int(4个字节)、bigint(8个字节);

                          ⅱ小数型:float(4个字节)、double(8个字节)、decimal(8个字节);

        ②日期时间型:year(YYYY)、timestamp、time(HH:MM:SS)、date(YYYY-MM-DD)、datetime;

        ③字符串型:set(集合类型,不定项选择)、enum(枚举类型,单项选择)、blob(二进制数据)、text、varchar、char;

2.数值型-整数型

         ①可以使用unsigned来标识是否有符号(不写就认为有符号);

         ②定义显示宽度,通过规定数据的显示宽度,达到统一显示的宽度;

          注:类型(M) M表示显示数据的最小宽度,需要使用前导零填充达到目的,称之为zerofill;

                 例:alter table tbl_int add c tinyint(2) zerofill;

                 也存在布尔bool类型,但就是tinyint(1)别名;

3.数值型-小数型

        ①浮点数:小数点可变化

             float(单精度):默认精度为6位左右;

             double(双精度):默认精度为16位左右;

            注:支持控制数值的范围,type(M,D) M所有数值的位数,不包括小数点和符号;D允许小数位数

                   支持科学计数法:1.234 X 10^3  <==>  1.234E3

        ②定点数

            decimal(M,D) M表示总位数,默认为10;D表示小数范围,默认为2;

        ③小数支持zerofill

        ④支持无符号unsigned

4.时间类型

        ①datetime(年月日时分秒):YYYY-MM-DD HH:MM:SS

            注:支持任意分隔符的日期,但不建议使用特殊的分隔符,使逻辑不清晰

                   支持零值,表示当前没有规定,例:2013-04-0 表示4月整个月(逻辑想法)

        ②date(年月日):YYYY-MM-DD

        ③timestamp(时间戳):格式痛datetime,存储时是整数,但是表示时是日期时间类型

           注:检索列时,+0可以检索时间戳

5.字符串类型

       ①char(M) 固定长度

           varchar(M) 可变长度,需要一个字节保存总长度

           注:M允许的字符串长度

                  M在varchar中的表示是允许最大的长度,char内表示严格限定的长度

                  M表示的是字符数,而不是字节数,但总的长度使用还是字节数

       ②真实的varchar长度:总长度65535,实际最大值为65532

               注:varchar特点:当类型数据超过255个字符时,采用2个字节表示长度  65535 - 2 = 65533

                      整条记录需要额外的自己,用于保存当前字段的null值,除非所有的字段都不是null,才可以省略;

                      一个记录,不论有多少字段存在null。都使用统一的一个字节来表示,而不是每个字段一个字节;

       ③text

               文本(大小2^16),有很多兄弟类型:tinytext,longtext表示的字符串长度不一样

6.列类型-如何选择

        ①尽量精确

        ②考虑应用语言处理

        ③考虑兼容性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值