首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL数据类型深度解读:提升性能的秘诀!从小白到高手竟在不经意之间!

MySQL数据类型深度解读:提升性能的秘诀!从小白到高手竟在不经意之间!

作者头像
程序视点
发布2025-01-17 20:05:35
发布2025-01-17 20:05:35
2230
举报
文章被收录于专栏:程序小小事程序小小事

前言

MySQL作为关系型数据库的佼佼者,其架构的复杂性和灵活性一直是开发者和DBA们关注的焦点。

本文将继续根据日常面试和工作实践中的内容,深入探讨MySQL的各个要点。从使用的角度出发,为大家MySQL高效运行的秘密。

MySQL数据类型

主要包括以下五大类:

  • 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
  • 浮点数类型:FLOAT、DOUBLE、DECIMAL
  • 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
  • 日期类型:Date、DateTime、TimeStamp、Time、Year
  • 其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

CHAR 和 VARCHAR 的区别?

char是固定长度,varchar长度可变:

char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

存储时,前者不管实际存储数据的长度,直接按 char 规定的长度分配存储空间;而后者会根据实际存储的数据分配最终的存储空间

相同点:

  1. char(n),varchar(n)中的n都代表字符的个数
  2. 超过char,varchar最大长度n的限制后,字符串会被截断。

不同点:

  1. char不论实际存储的字符数都会占用n个字符的空间,而varchar只会占用实际字符应该占用的字节空间加1(实际长度length,0<=length<255)或加2(length>255)。因为varchar保存数据时除了要保存字符串之外还会加一个字节来记录长度(如果列声明长度大于255则使用两个字节来保存长度)。
  2. 能存储的最大空间限制不一样:char的存储上限为255字节。
  3. char在存储时会截断尾部的空格,而varchar不会。

char是适合存储很短的、一般固定长度的字符串。例如,char非常适合存储密码的MD5值,因为这是一个定长的值。对于非常短的列,char比varchar在存储空间上也更有效率。

列的字符串类型可以是什么?

字符串类型是:SET、BLOB、ENUM、CHAR、TEXT、VARCHAR

BLOB和TEXT有什么区别?

BLOB是一个二进制对象,可以容纳可变数量的数据。有四种类型的BLOB:TINYBLOB、BLOB、MEDIUMBLO和 LONGBLOB

TEXT是一个不区分大小写的BLOB。四种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。

BLOB 保存二进制数据,TEXT 保存字符数据。

好啦!今天就先到这里了~ 后续也会陆续分析MySQL面试和实践中最精华的内容。一篇文章不会太多内容,这样更方便大家快速理解。每个点都掌握了,应对面试和工作内容,游刃有余~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序视点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • MySQL数据类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档