MySQL入门——数据类型分析

MySQL的数据类型

Mysql的数据类型主要分为三类: 数字型、字符串型、日期和时间类型
需要学习者着重了解的是char与varchar的固定长度与可变长度的意义、int(M)所代表的意义

数字型

整型(部分):

类型字节
TINYINT1
BOOL1
SMALLINT2
INT(也就是INTEGER)4
BIGINT8

浮点(部分):

类型字节
FLOAT8或4
DOUBLE8

计算机最小单位为’位’(只有0或1两个值),单位是bit。
28bit=1byte(字节),4个字节为28x28x28x28=232(注意是相乘的关系,而不是乘以4)

字符串类型

类型包含说明
普通文本类型CHAR(M)固定长度为M个字符,M的取值范围是0~255,固定长度意味着当你存储了小于M的字符时,mysql将会自动在后面加上空格直至总体长度达到M(在取的时候会trim掉多余空格的)。这样整齐的长度存储方式相对于可变长度的存储更有利于检索,但也浪费了空间。适用场景:身份证号码等固定长度数值
普通文本类型VARCHAR(M)可变长度存储,如存储的字符小于M,实际上存储的不会以空格填充。如果超过了M个字符,会被自动截取扔掉的。还要注意他会自动加一个字符来存储长度。他更节省空间,但相比char检索慢
可变类型TEXT适合存储长文本数据
可变类型BLOB适合存储二进制数据,比如声音、图像等
特殊类型ENUM(“value1”,“value2”,…)该类型的列只可容纳所列值之一或NULL,它非常适合SELECT的OPTION选项组
特殊类型SET(“value1”,“value2”,…)类似于ENUM
字符与字节的关系:字符是有编码的,编码方式不同,它换算出来的字节则不同
ANSI编码标准下,每个英文及数字占1个字节,每个汉字占2个字节。
UNICODE编码标准下,所有字符都占2个字节。
UTF-8编码标准下,每个英文及数字占1个字节,每个汉字占3个字节。

注意:int(M)—— 这里的M与varchar(M)中代表的意义不同,varchar中表示的是存储字符的长度个数,int中表示的是查出的结果在显示时展现的宽度,int中的M并不会影响存储字符的长度,int的字节固定就是4个字节。展现宽度指的是,比如M=3,数值为24,那么查得的展示结果为 024,即会展现M位数值,不足前面补零、超了也无所谓(比如M=3,数值为4212,展示结果为4212)。

日期和时间类型

类型格式
DATEYYYY-MM-DD
TIMEHH:MM:SS
DATETIMEYYYY-MM-DD HH:MM:SS
TIMESTAMP
YEAR

如果传入不合法的值,将会被0代替

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缔曦_deacy

码字不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值