更新时间:2025 08 07 14:15:49 作者 :庆美网 围观 : 22次
说明:
特点:
在MySQL中数据类型有以下五种:
整数:常用的有2种,一是int型,int型最多可以表示10位数字(无符号的4开头,有符号的2开头;二是tinyint unsigned,用来表示年龄(值范围是0-255)。
小数:注意float(m,n)表示法中的m表示数字总共有m位,n表示小数有n位,那么整数部分只能有m-n位。float默认保留5位小数、double默认保留16位小数、decimal默认是10位数字不含小数(它的最大范围是65位数字,其中小数可以保留30位)。
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个\”零\”值,当指定不合法的MySQL不能表示的值时使用\”零\”值。
时间类型可以增加限定属性:
not null 非空
default current_timestamp 默认时间为当前时间
on update current_timestamp 更新数据时自动更新当前时间
date:用来记录各种日期,如出生日期、入职日期等关注日期而不关注时间的等信息。
time:用来记录时间安排(课程表、日程表)的信息、时长的等信息。
datetime:用户登录时间等
以上类型中char和varchar类型用得最多。
char类型为定长字符型,长度固定为声明的长度,范围是0-255字符数(注意不是字节数!使用utf8编码中文会占3个字节,也就是说255个中文字符实际上会占用765字节)。存储时数据长度不够声明的长度时末尾会被填充空格,取值时会舍弃末尾的空格部分,数据超过声明长度的部分会被舍弃。适合使用char类型的如身份证号、手机号、qq号、用户名、密码、银行卡号等。
varchar类型为不定长字符型,长度不固定但最长不能超过声明的长度,范围是0-65535字符数。存储时数据长度不够声明的长度时不会填充空格,数据最后会附加2个字节的长度信息,数据超过声明长度的部分会被舍弃。适合使用varchar类型的如评论、朋友圈、微博等。
char类型优点是检索速度快,缺点是浪费存储空间;varchar类型优点是节省存储空间,缺点是检索速度慢。由于现在存储空间不再是瓶颈,所以在强调检索速度的场景优先使用char,只有在不确定字符串长度又不强调检索速度的场景才使用varchar。
案例:
在下面的sql语句中创建了test表,它的gender字段约束了数据只能是’male’或’female’。
如果该字段输其它内容会报错并导致整条数据不能存入数据库。如下面这条语句就会报错且数据不会保存到数据库。
只有输入正确的选项数据才能存入数据库。
案例:
在下面的sql语句中创建了test表,它的hobby字段约束了数据只能从列表中选择’。
如果该字段输其它内容会报错并导致整条数据不能存入数据库。如下面这条语句就会报错且数据不会保存到数据库。
只有输入正确的选项数据才能存入数据库。
注意上述多选中整个选项作为一个字符串且选项之间用英文逗号隔开。
MySQL中的数据类型
1.1 数值类型:
1.2 字符串类型:
1.3 日期和时间类型:
1.4 布尔类型:
2.1 VARCHAR: VARCHAR是一种可变长度的字符串类型,用于存储可变长度的字符数据。它需要指定最大长度,最大长度可以是1到65535之间的任意值。示例:
在上述示例中,创建了一个名为users的表,其中name字段存储最大长度为50的字符串,email字段存储最大长度为100的字符串。
2.2 INT: INT是一种整数类型,用于存储整数值。它可以存储范围从-2147483648到2147483647的整数值。示例:
在上述示例中,创建了一个名为products的表,其中id字段存储整数值,quantity字段存储最大宽度为3的整数值。
2.3 DECIMAL: DECIMAL是一种用于存储精确小数值的固定精度浮点数类型。它需要指定总位数和小数位数。示例:
在上述示例中,创建了一个名为orders的表,其中id字段存储整数值,total_price
字段存储最大总位数为8且小数位数为2的精确小数值。
2.4 DATE: DATE是一种日期类型,用于存储日期值。它以\’YYYY-MM-DD\’的格式表示日期。示例:
在上述示例中,创建了一个名为events的表,其中event_id字段存储整数值,event_date字段存储日期值。
2.5 TIME: TIME是一种时间类型,用于存储时间值。它以\’HH:MM:SS\’的格式表示时间。示例:
在上述示例中,创建了一个名为meetings的表,其中meeting_id字段存储整数值,start_time字段存储时间值。
2.6 DATETIME: DATETIME是一种日期和时间类型,用于存储日期和时间值。它以\’YYYY-MM-DD HH:MM:SS\’的格式表示日期和时间。示例:
在上述示例中,创建了一个名为logs的表,其中log_id字段存储整数值,created_at字段存储日期和时间值。
2.7 BOOLEAN: BOOLEAN是一种布尔类型,用于存储布尔值。它可以存储TRUE或FALSE。示例:
在上述示例中,创建了一个名为customers的表,其中customer_id字段存储整数值,is_active字段存储布尔值。
以上是MySQL中常用的数据类型及其详细描述和示例。根据实际需求,选择合适的数据类型可以有效地存储和管理数据,并确保数据的准确性和完整性。
关于mysql数字类型—mysql数值类型占用字节及范围到此分享完毕,希望能帮助到您。
喝奶粉是现代人生活中常见的补充营养的方式,但是很多人却担心喝了会上火。那么什么是上火?如何避免上火?哪些奶粉可以帮助降火?选择奶粉时需要注意哪些因素?市面上有哪些不上火的
嘿,大家好!今天我们来聊聊一个备受关注的话题——“喝三鹿奶粉后的小孩会有什么后果?”是不是听到这个标题,就觉得心里有点慌?别担心,我会用非正式的语气给你讲解这件事。首先,让我
听说最近有一种新的生活方式正在流行,那就是喝羊奶。有人说喝羊奶可以带来很多好处,也有人担心喝羊奶会导致可怕的变化。究竟是真是假?让我们一起来探讨一下吧!在这篇文章中,我们
最近关于婴幼儿奶粉的讨论再次掀起热潮,其中备受关注的当属喜素力奶粉。作为生活百科行业的一员,我特意整理了一些关于喜素力奶粉的成分及其功效,希望能够帮助各位年轻爸爸妈妈
喜宝米粉,这个在生活百科行业备受关注的食品,究竟有着怎样的营养价值和健康功效?如何正确选择和食用喜宝米粉?又该如何避免常见的误区?今天,我们将为您解析这一切。从含有丰富营养
喜宝奶粉配方表,这个看似普通的名词,却隐藏着许多重要的信息。它是每一位妈妈在购买奶粉时都应该注意的关键因素。那么,你知道喜宝奶粉配方表究竟是什么吗?它包含了哪些重要的成
用户评论
终于找到解释MYSQL数字类型占用空间和范围的文章啦!以前总搞混数据类型的存储限制,导致数据库太大浪费空间,还好这个文章细致讲解了每个类型,这下不用再看官方文档猜谜了吧。
有10位网友表示赞同!
感觉这篇文章写得真好极了 ,把各种数值类型整理得非常清晰,还给出了具体的占用字节和范围,学习效率简直飞快!对小白来说太友好了~
有20位网友表示赞同!
这个文章讲得有点浅,对于新手来说可能不太友好,因为没有详细解释为什么每个数字类型的存储大小和范围会有差异,感觉缺少了一些针对性的讲解内容。
有15位网友表示赞同!
我一直以为INT类型占用4个字节,结果看完这篇文章才知道还有其他因素会影响空间占用,比如数据长度上限。这个细节确实容易被人忽视啊!
有8位网友表示赞同!
学习了MYSQL的数字类型之后,要好好琢磨一下如何选择合适的类型进行数值存储,避免数据过大导致数据库膨胀以及效率低下问题が発生。
有8位网友表示赞同!
这篇讲解mysql数字类型的文章很实用,终于解决了几个我长期困扰的问题!点赞!希望以后还有更多关于数据库优化方面的教程分享。
有15位网友表示赞同!
MySQL的文档经常让人读不懂啊,幸好有这篇文章来解释清楚了每个数值类型的细节,这下可以更好地掌握数据类型选择和存储优化技巧啦!
有18位网友表示赞同!
我感觉文章中列出的数字类型范围有点少,没有包含一些比较特殊的类型,比如浮点数和几何类型的存储情况,希望能补充相关内容让文章更全面。
有7位网友表示赞同!
这个帖子写得真好!我已经把这篇文章分享给了我的同事,大家都在夸它写的太棒了!
有18位网友表示赞同!
其实我更想知道的是如何根据实际项目需求来选择最合适的数字类型,希望以后作者能够讲解相关的案例分析。
有16位网友表示赞同!
学习了这篇关于MySQL数字类型的文章之后,我感觉对数据库管理有了更深层的理解,可以更好地进行数据的设计和开发工作!
有20位网友表示赞同!
这篇文章太实用了!我现在正好在做一款基于MYSQL的系统,非常感谢作者提供的这些知识点!
有17位网友表示赞同!
说这么多数字类型,也没说明选哪个好? 我有点困惑啊,总觉得数据库设计很复杂。
有13位网友表示赞同!
这篇讲解挺详细的,把每个数字类型的特点和使用场景都解释得很清楚,很容易理解!
有10位网友表示赞同!
看完了文章之后, 我对MySQL数字类型有了更清晰的认识, 现在可以根据需求更准确地选择数据类型了。
有6位网友表示赞同!
这篇文章讲得太浅了,没有涉及到一些高级的数据库优化技巧,比如如何使用索引来提高查询效率。希望能有更多深入的内容分享。
有17位网友表示赞同!
我以前总是把 INT 与 SMALLINT弄混淆,这篇文章解释得很清楚,让我终于明白它们之间的区别和适用场景了!
有11位网友表示赞同!