MySQL数据类型详解

MySQL数据类型预览:

整型类型:
具体类型长度(byte)范围说明
tinyint1-128~127  0~255(unsigned)     
smallint2-32768~32767  0~65535(unsigned)     
mediumint3-8388608~8388607  0~16777215(unsigned)     
int4-2147483648~2147483647  0~4294967295(unsigned)     
bigint8-2^63 ~ 2^63-1   0~2^64-1(unsigned)     
decimal(M,D)M+2默认为10 最大65以二进制格式存储值,存储精确的数值数据
numeric(M,D)M+2默认为10 最大65以二进制格式存储值,存储精确的数值数据,在MySQL中,NUMERIC实现为DECIMAL
float(M,D)40~23存储近似数字数据值
double(M,D)824~53存储近似数字数据值
bit(M)51~64用于存储比特值,左侧用零填
字符串类型:
具体类型长度(byte)范围说明
char(M)M0~255固定长度,其他用空格填充
varchar(M)M0~6553565535在所有列中共享长度,utf8编码中长度为21,845
binary(M)M以字节为单位
varbinary(M)M以字节为单位
text(M)0~65535长度为65535字节,存放文本
blob(M)0~65535使用指针方式存储二进制数据
日期类型:
具体类型长度(byte)范围说明
year11901~2155
date4'1000-01-01'~ '9999-12-31'
time3以字节为单位
timestamp4'1970-01-01 00:00:01'~'2038-01-19 03:14:07'timestamp只允许出现一次,取出总是转换为当地时区
datetime8'1000-01-01 00:00:00'~'9999-12-31 23:59:59'
其他类型:
具体类型长度(byte)范围说明
enum1或2个字节0~65535最多可以包含65535个元素
set0~64是一个字符串对象,可以包含零个或多个值

数值类型存储方式:

所有的数值类型,在内存中都转化为二进制数值:
如存储1这个数值,用int类型存储,那么在内存中的存储方式为:
00000000 00000000 00000000 00000001
因为int类型占用4字节,而一字节等于8比特,那么存储长度则为32比特的长度。
如果使用tinyint类型存储,那么在内存中的存储方式为:
00000001

有符号类型:
由于符号要占用掉一个比特位,如果存储-1这个数值,那么在内存中存储方式为:
11111111

负数在内存中都是以补码方式存储的,如-1:
1的原码是00000001,那么取反得到反码:11111110,加一得到补码:11111111

数值类型后面的括号是用来限定显示宽度,仅仅影响显示效果,不会限制存储长度,比较,计算等等

字符串类型存储方式:

cahr和varchar的主要区别:
char类型声明为”定长字符类型”,它严格限定空间长度,括号里限定的是字符的长度,严格存储M个字符,如果不足则以空格不全,如果超过长度,则会报错。
varchar声明为"变长字符串类型",它存储数据时使用额外的字节的bit位来标记某个字节是否存储了数据。在utf8编码中,规定了一个字符占用三个字节,那么它最多存储65536/3=21845个utf8字符
char与varchar存储长度比较:

CHAR(4)需要存储VARCHAR(4)需要存储
'''    '4字节''1个字节
'ab''ab  '4字节'ab'3个字节
'abcd''abcd'4字节'abcd'5个字节
'abcdefgh''abcd'4字节'abcd'5个字节

日期类型存储方式:

日期时间型数据存储时需要使用引号包围,避免和数值类型的数据产生歧义。格式也较为宽松,可以使用任意分隔符来表示

ENUM数据类型:

ENUM是一个字符串对象,可以允许从列表中选择值,定义方式为ENUM(‘value1’,‘value2’…),这些值在表创建时在列规范中显式枚举。它具有以下优点:

1、在列具有有限的可能值集的情况下的紧凑数据存储。您指定为输入值的字符串将自动编码为数字。

2、可读的查询和输出。数字将转换回查询结果中的相应字符串。
在存储是忽略大小写,空格会被截断,同时enum在存储时是通过index方式进行存储
如:ENUM(NULL, ‘’, ‘a’,‘b’,‘c’,’’):

index
NULLNULL
''0
'a'1
'b'2
'c'3
''0
不建议使用enum数据类型,因为它不会在存储保存在适当 TINYINT或 SMALLINT类型,很容易混淆,且在修改类型时会使用copy算法使修改值变得更为复杂

数据类型属性:zerofill:

使用zerofill类型修饰字段后,不足字段显示部分将使用0来代替空格填充,启用zerofill后将自动设置unsigned。zerofill一般只在设置了列的显示宽度后一起使用

标题基于SpringBoot的蛋糕烘焙分享平台研究AI更换标题第1章引言介绍蛋糕烘焙分享平台的研究背景、意义、现状以及论文的方法和创新点。1.1研究背景与意义分析蛋糕烘焙行业的现状,阐述分享平台的重要性和意义。1.2国内外研究现状综述国内外在蛋糕烘焙分享平台方面的研究进展。1.3论文方法及创新点概述论文的研究方法,突出创新点。第2章相关理论介绍SpringBoot框架和分享平台开发的相关理论。2.1SpringBoot框架概述简述SpringBoot框架的特点、优势和应用场景。2.2分享平台技术基础阐述分享平台开发所需的技术基础,如前后端分离、数据库设计等。2.3用户行为分析理论介绍用户行为分析的基本理论和方法,为平台功能设计提供指导。第3章平台需求分析对蛋糕烘焙分享平台进行需求分析,明确平台功能和性能要求。3.1目标用户群体分析分析平台的目标用户群体,了解其需求和特点。3.2功能需求分析详细分析平台应具备的功能,如用户注册、烘焙教程发布、互动交流等。3.3性能需求分析对平台的性能要求进行分析,确保平台的稳定性和可扩展性。第4章平台设计根据需求分析结果,设计蛋糕烘焙分享平台的整体架构和详细功能。4.1平台架构设计设计平台的整体架构,包括前后端分离、数据库设计等。4.2功能模块设计详细设计平台的功能模块,如用户管理、内容管理、互动交流模块等。4.3数据库设计根据平台需求,设计合理的数据库表结构和数据字典。第5章平台实现与测试介绍平台的实现过程,包括环境搭建、编码实现和测试等环节。5.1环境搭建与配置搭建开发环境,配置必要的软件和工具。5.2编码实现按照设计要求,编写平台的前后端代码。5.3平台测试与优化对平台进行测试,发现并解决问题,优化平台性能。第6章结论与展望总结论文的研究成果,展望未来的研究方向和应用前景。6.1研究结论概括论文的主要研究内容和取得的成果。6.2未来研究
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值