首页
学习
活动
专区
圈层
工具
发布

mysql各类型数据长度

MySQL中的数据类型长度是指每个数据类型能够存储的最大数据长度。不同的数据类型有不同的长度限制,这些限制决定了它们能够存储的数据范围和精度。以下是一些常见的MySQL数据类型及其长度:

数值类型

  1. TINYINT:占用1字节,有符号范围是-128到127,无符号范围是0到255。
  2. SMALLINT:占用2字节,有符号范围是-32768到32767,无符号范围是0到65535。
  3. MEDIUMINT:占用3字节,有符号范围是-8388608到8388607,无符号范围是0到16777215。
  4. INTINTEGER:占用4字节,有符号范围是-2147483648到2147483647,无符号范围是0到4294967295。
  5. BIGINT:占用8字节,有符号范围是-9223372036854775808到9223372036854775807,无符号范围是0到18446744073709551615。

字符串类型

  1. CHAR:固定长度,长度范围是0到255个字符。
  2. VARCHAR:可变长度,长度范围是0到65535个字符。
  3. TEXT:可变长度,最大长度为65535个字符。
  4. MEDIUMTEXT:可变长度,最大长度为16777215个字符。
  5. LONGTEXT:可变长度,最大长度为4294967295个字符。

日期和时间类型

  1. DATE:占用3字节,范围是1000-01-01到9999-12-31。
  2. DATETIME:占用8字节,范围是1000-01-01 00:00:00到9999-12-31 23:59:59。
  3. TIMESTAMP:占用4字节,范围是1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC。
  4. TIME:占用3字节,范围是'-838:59:59'到'838:59:59'。
  5. YEAR:占用1字节,范围是1901到2155。

二进制数据类型

  1. BINARY:固定长度的二进制字符串,长度范围是0到255字节。
  2. VARBINARY:可变长度的二进制字符串,长度范围是0到65535字节。
  3. BLOB:可变长度的二进制大对象,最大长度为65535字节。
  4. MEDIUMBLOB:可变长度的二进制大对象,最大长度为16777215字节。
  5. LONGBLOB:可变长度的二进制大对象,最大长度为4294967295字节。

其他类型

  1. ENUM:枚举类型,可以从预定义的值列表中选择一个值。
  2. SET:集合类型,可以从预定义的值集合中选择多个值。
  3. DECIMALNUMERIC:固定精度的数值类型,可以存储精确的小数值。

应用场景

  • TINYINTSMALLINT 通常用于存储小范围的整数,如年龄、数量等。
  • INTBIGINT 用于存储较大的整数,如用户ID、订单号等。
  • VARCHARTEXT 类型用于存储文本数据,其中 VARCHAR 更适合存储长度变化不大的文本,而 TEXT 适合存储长文本。
  • DATEDATETIME 类型用于存储日期和时间信息。
  • ENUMSET 类型用于存储有限选项的数据,如性别、状态等。

遇到的问题及解决方法

问题:插入数据时提示长度超出范围。

原因:尝试插入的数据超过了所选数据类型的最大长度限制。

解决方法

  • 检查插入的数据长度,确保其不超过数据类型的限制。
  • 如果数据长度确实很大,考虑使用更长的数据类型,如将 VARCHAR(255) 改为 TEXT
  • 对于数值类型,如果需要更大的数范围,可以考虑使用更大范围的整数类型,如从 INT 改为 BIGINT

示例代码

代码语言:txt
复制
-- 创建一个表,包含不同长度的数据类型
CREATE TABLE example (
    id INT AUTO_INCREMENT PRIMARY KEY,
    short_text VARCHAR(50),
    long_text TEXT,
    number INT,
    big_number BIGINT,
    date DATE,
    datetime DATETIME
);

-- 插入数据
INSERT INTO example (short_text, long_text, number, big_number, date, datetime)
VALUES ('Hello World', 'This is a long text example that can be up to 65535 characters long.', 12345, 9223372036854775807, '2023-04-01', '2023-04-01 12:34:56');

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详解 mysql int 类型的长度值问题

创建数据库的时候发现一个问题: 改变 length 的值, 不能影响到实际的存储长度!...秉着好奇心, 打开了 google ~ 引入大神的解答. mysql 在建表的时候 int 类型后的长度代表什么? 是该列允许存储值的最大宽度吗?...所以我在网上查阅了一些资料, 也仔细的看了 mysql 手册关于 int data type 的说法. 以下是每个整数类型的存储和范围 (来自 mysql 手册) ?...mysql 我们看到现在我的 number 字段, 长度 (M)=5, 属性 =UNSIGNED ZEROFILL(无符号, 用 0 来填充位数), 设置这个属性后我往表时插入数据, 系统会自动把 number...mysql 手册上还有这么一句话 "当 mysql 为某些复杂的联结 (join) 生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度".

5K20
  • mysql面试题49:MySQL中不同text数据类型的最大长度

    该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL中TEXT数据类型的最大长度 在MySQL中,TEXT数据类型用于存储较大的文本数据...,其最大长度取决于具体的TEXT类型。...以下是MySQL中不同TEXT类型的最大长度: TINYTEXT:最大长度为255个字符(2^8-1)。 TEXT:最大长度为65,535个字符(2^16-1)。...此外,MySQL还提供了BLOB数据类型,用于存储二进制大对象。...当使用TEXT或BLOB类型存储较大的数据时,可能会影响性能和存储空间的使用。在设计数据库时,应根据实际需求和性能考虑选择合适的数据类型和存储方案。

    3.4K00

    MySQL修改字段类型、字段名字、字段长度、字段小数点长度。

    文章目录 1:修改类型 2:修改长度 3: 同时修改列名和列的数据类型 4:修改字段类型text(类型) ~>mediumtext(类型) 5:修改字段长度和字段小数点长度 6: 修改字段列名和字段类型...7:指定字段之后新增字段 8:更新表content_text字段类型 9:修改字段类型,修改长度和小数点位数 1:修改类型 mysql> alter table 表名 modify column 字段名...数据库中address表 city字段是varchar(30),修改类型可以用(谨慎修改类型,可能会导致原有数据出错)。...city char(30);修改长度可以用(修改长度,要保证不短与已有数据,以保证原有数据不出错)mysql> alter table address modify column city varchar...3: 同时修改列名和列的数据类型 同时修改列名和列的数据类型的方法:通常可以写成 alter table 表名 change column 旧列名 新列名 新的列类型student表中列sname的类型是

    19.4K20

    一文搞懂MySQL表字段类型长度的含义

    不知道大家第一眼看标题的时候有没有理解,什么是“字段类型长度”,这里我来解释下,就比如我们在MySQL建表的时候,比如下面这个建表语句:CREATE TABLE `user` ( `id` int(10...+数字就是该字段的类型长度,比如int(10)就是该字段是int类型长度为10,这下大家应该能理解什么是MySQL表字段类型长度了吧(其实在后续的讲解中会发现这个并不是长度,而是宽度)那么重点问题来了,...1 MySQL支持的数据类型1.1 类型分类分为几个大类:图片1.2 具体的数据类型细节数据类型如下:数值类型类型 大小(Bytes) 范围(有符号...JSON 数据类型MySQL 从5.7.8 版本开始提供 JSON 数据类型的支持,与之前将 JSON 数据以字符串形式存储在列中相比,JSON 数据类型增加了以下支持:(1)它提供了 JSON 文档的自动验证...(3)提供了相关操作JSON类型数据的函数1.3 数据类型说明MySQL的数据类型长度是固定的,而不是由建表时指定的,unsigned表示无符号类型CREATE TABLE `table01` ( `

    3.1K11

    C语言基本数据类型的类型与基本数据类型的长度

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 数据类型作为C语言的入门章节,数据类型的知识在实际编码的过程中发挥的极大的作用,如果你要想知道变量的定义和变量的引用,那么数据类型会发挥极大的作用...(博主是萌新,所以本文章只讨论在实际学习交流中的心得体会,如有参差,请及时指出,万分感谢) 本章的大致分为;1.数据类型的各种类型 2.数据类型长度及其探索...(sizeof探索法) 提示:以下是本篇文章正文内容,下面案例可供参考 一、数据类型是什么?...二、数据类型 1.数据类型的种类 内置类型: 字符型:char ---------------------ASCII码值转译而来,实质是整型(常用ASCII码表见附表1) 整型:short(短整型)...数组-arr[] 结构体:struct 枚举:enum 联合体:union 2.内置类型的长度 前提引入:sizeof操作符以字节形式给出了其操作数的存储大小,所以可以用来计算各个数据类型的内存占用长度

    74910

    字节|字符、字段类型长度

    常用的字段数据类型: int:整型 double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99; char:固定长度字符串类型; char(10) 如果不足...datetime:日期时间类型 yyyy-MM-dd hh:mm:ssmysql字段每个类型长度大小与建表的类型长度:在创建数据库表时,例如create table user(id int(4) primary...key ,name varchar(20),pwd varchar(20) );括号里的数字叫数据的宽度,我们不能一概而论,因为不同的数据类型对宽度的处理也不一样:1、整数类型,这里显示的宽度和数据类型的取值范围是没有任何关系的...,显示宽度只是指明Mysql最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充;如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然可以插入,而且能够显示出来。...……mysql中 varchar 字段长度,是按照字符的长度计算, 即,name 保存有 "我是谁" , 这是三个字符。

    3.1K60

    Mysql数据类型

    MySQL的数据类型 在MySQL中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。...列类型col_type表示列可存储的特定值。列类型说明符还能表示存放在列中的值的最大长 度。对于某些类型,可用一个数值明确地说明其长度。而另外一些值,其长度由类型名蕴含。...类似地,如果需要给出多个通用属性,也可按任意顺序给出它们,只要将它们放在列类型和可能给出的列专用属性之后即可  2. MySQL的列(字段)类型 数据库中的每个表都是由一个或多个列(字段)构成的。...在选项M 和D时,如果省略了它们,则使用缺省值  2.2字符串列类型 MySQL提供了几种存放字符数据的串类型,其类型如下: 类型名 说明 CHAR 定长字符串 VARCHAR 可变长字符串 TINYBLOB...MySQL 通过存储值的内容及其长度来处理可变长度的值。这些额外的字节是无符号整数。请注意,可变长类型的最大长度、此类型所需的额外字节数以及占用相同字节数的 无符号整数之间的对应关系。

    3.5K30

    MySQL数据类型

    MySQL数据类型 数据类型 指定值和范围 char String(0~255) varchar String(0~255) tinytext String(0~255) text String(0~65536...单精度浮点数 DOUBLE 双精度浮点数 BIT 一个字节字段 字符串数据类型 字符串类型 描述 char 固定长度的非二进制(字符)字符串 varchar 可变长度的非二进制字符串 BINARY...一个固定长度的二进制字符串 VARBINARY 一个可变长度的二进制字符串 TINYBLOB 一个非常小的BLOB(二进制大对象) BLOB 一个小的BLOB(二进制大对象) MEDIUMBLOB 一个中等大小的...hh:mm:ss格式的时间戳记值 YEAR YYYY或YY格式的年 空间数据类型 字符串类型 描述 GEOMETRY 任何类型的空间值 POINT 一个点(一对X-Y坐标) LINESTRING...MySQL 5.7.8版本支持原生JSON数据类型,可以更有效地存储和管理JSON文档。

    3.1K20

    MySQL数据类型

    数据类型分类 简单看一下数据可常见类型: 数值类型 tinyint类型 创建一个表,表中内容是tinyint型有符号: mysql> create table if not exists t1 (...总结: 如果插入的数据超过MySQL数据类型的范围,那么MySQL就不让你插入,直接拦截,不让做对应的操作。...如果已经有数据被成功插入到MySQL中,那么插入的时候一定是合法的。 因此,MySQL中,一般而言,数据类型本身也是一种约束。...字符串类型 char 语法: char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255。...如果数据确定长度都一样,就使用定长(char),比如:身份证,手机号,md5 如果数据长度有变化,就使用变长(varchar), 比如:名字,地址,但是你要保证最长的能存的进去。

    94010

    Mysql 数据类型

    mysql 数据类型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint...浮点型(float和double) MySQL数据类型 含义 float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d) 双精度浮点型 16位精度(8字节) m总个数... 字符串(char,varchar,_text) MySQL数据类型 含义 char(n) 固定长度,最多255个字符 varchar(n) 固定长度,最多65535个字符 tinytext...日期时间类型 MySQL数据类型 含义 date 日期 '2008-12-2' time 时间 '12:25:36' datetime 日期时间 '2008-12-2 22:06:44' timestamp...数据类型的属性 MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT

    2.3K20

    Mysql数据类型

    1.1数据类型分类 MySQL 数据类型可以分为三大类: 数值类型:包括整数类型、浮点类型、定点类型等。 字符串类型:包括 CHAR、VARCHAR、TEXT 等。...例如: ​ 1.3 字符串类型 1.3.1 char 类型 char 是固定长度的字符串类型,适用于存储长度固定的字符串数据。 长度 L 最大为 255 字符。...varchar 是可变长度的字符串类型,适用于存储长度不固定的字符串数据。...由于 VARCHAR 是可变长度的字符串类型,它不仅存储字符本身,还需要额外的空间来记录实际数据的长度。因此,在 utf8 编码下,VARCHAR 字段的最大字符数是 21844。...变长(VARCHAR): 如果数据的长度有变化,可以使用变长(VARCHAR)类型。例如:名字、地址等数据。 优缺点对比: 定长(CHAR): 优点: 存储固定长度的数据时效率高。

    1.4K00

    MySQL数据类型

    MySQL不同存储引擎可能会有不同。下面的内容以InnoDB为主。 选择数据类型的步骤 确定合适的大类型:数字、字符串、时间、二进制 确定具体的类型:有无符号、取值范围、变长定长等。...(MySQL存储了写入的字符串的长度,这样可以知道字符串末尾有多少各空格是你写入的。) VARCHAR(5)和VARCHAR(200),如果都只存了"abc",它们有什么不同呢?...BLOB vs TEXT L表示数据的长度。 L+x表示存储需要的空间。...MySQL只能对BLOB和TEXT的前面max_sort_length各字符进行排序和索引。 BLOB和TEXT都不能有default value。...一些原则 选择最小的满足需求的数据类型。 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。 简单就好。

    3.7K40
    领券