首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 如何存储长度很长数据字段

最近,在工作中遇到了MySQL中如何存储长度较长字段类型问题,于是花了一周多时间抽空学习了一下,并且记录下来。...MySQL大致逻辑存储结构在这篇文章中有介绍,做为基本概念:InnoDB 逻辑存储结构 注:文中所指大数据指的是长度较长数据字段,包括varchar/varbinay/text/blob。...说了这么多,总结下Compact格式存储大数据缺点: 由于存在768字节前缀在Page页,所以会存在能定义一个字段存储11000字节,但是不能定义11个字段,每个字段存储1000字节”bug”。...将列放入外部存储标准 当一行中数据不能在数据页中放下,需要申请外部存储页时,MySQL需要决定将哪一列数据放到外部存储页,遵循规则如下: 长度固定字段不会被放到外部存储页(int、char(...当有多个大数据字段满足上面条件,需要被放到外部存储页时,MySQL会优先选择大字段放到外部存储页,因为这样可以最大限度省下数据页空间,使得更多字段能够被放到数据页。

5.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL字段类型_mysql数据库字段类型

大家好,又见面了,我是你们朋友全栈君。 前言: 要了解一个数据库,我们必须了解其支持数据类型。MySQL 支持大量字段类型,其中常用也有很多。...DECIMAL 从 MySQL 5.1 引入,列声明语法是 DECIMAL(M,D) 。...例如字段 salary DECIMAL(5,2),能够存储具有五位数字和两位小数任何值,因此可以存储在salary列中范围是从-999.99到999.99。...3.日期时间类型 MySQL支持日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适类型即可...总结: 本篇文章主要介绍了 MySQL 中常用字段类型,平时用到字段类型基本都在这里了,以一张思维导图总结如下: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

19.4K10

mysql密码字段类型_MySQL 字段类型

MySQL 以一个可选显示宽度指示器形式对 SQL 标准进行扩展(如 INT(6),6即是其宽度指示器,该宽度指示器并不会影响int列存储字段大小,也就是说,超过6位它不会自动截取,依然会存储,只有超过它本身存储范围才会截取...万一我们需要对一个字段存储一个超出许可范围数字,MySQL 会根据允许范围最接近它一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定值插入表前自动修改为 0。...在处理相互排拆数据时容易让人理解,比如人类性别。ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外输入将会使 MySQL 在这个字段中插入一个空字符串。...另外如果插入值大小写与集合中值大小写不匹配,MySQL 会自动使用插入值大小写转换成与集合中大小写一致值。 ENUM 类型在系统内部可以存储为数字,并且从 1 开始用数字做索引。...SET 类型可以从预定义集合中取得任意数量值。并且与 ENUM 类型相同是任何试图在 SET 类型字段中插入非预定义值都会使 MySQL 插入一个空字符串。

14.4K20

PHP操作MySQL中BLOB字段方法示例【存储文本与图片】

本文实例讲述了PHP操作MySQL中BLOB字段方法。...分享给大家供大家参考,具体如下: 1、M/【参考文章时候,并不建议直接复制,应该尽量地读懂】/ySQL中BLOB字段类型 BLOB类型字段用于存储二进制数据。...MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间唯一区别是在存储文件最大大小上不同。...MySQL四种BLOB类型 TinyBlob:  最大 255字节 Blob:      最大 65K MediumBlob:最大 16M LongBlob:  最大 4G 注意:如果你存储文件过大...($query); echo $result["C/【本文中一些MYSQL版本可能是以前MYSQL建议使用5.7以上版本】/OMPRESS_CONTENT"]; ?

3.2K30

数据表多字段存储值与单字段存储json值区别

使用场景 电商系统中商品参数数据,假设包括以下几项 品牌 产地 尺寸 生产日期 保质期 重量 在设计数据表结构时候,可以选择2种方式 第1种是分别创建不同字段存储对应参数值 第2种是建立一个字段用于存储参数...多字段存储数据优点 1、查询性能:当需要经常对数据库中特定字段进行查询、排序或过滤时,使用多个字段通常能提供更好性能。也可以利用索引来加速这些操作。...多字段存储数据缺点 1、灵活性:如果数据结构经常变化,可能需要频繁地修改数据库表结构,可能会涉及复杂迁移过程。 2、空间效率:对于包含大量空值或重复值字段,可能不如JSON存储方式节省空间。...单字段存储JSON值优点 1、灵活性:可以轻松地存储和查询非结构化或半结构化数据,无需事先定义所有可能字段。当数据结构发生变化时,不需要修改数据库表结构。...在 Mysql 高版本中已提供了对JSON原生支持,包括索引、查询优化等功能,这能一定程序上减轻使用JSON字段时可能遇到一些性能问题,但其它方面的缺点仍有待解决。

10031

Mysql Explain主要字段

当联合主键或唯一索引所有字段跟常量值比较时,join类型为const。其他数据库也叫做唯一索引扫描 3、eq_ref 多表join时,对于来自前面表每一行,在当前表中只能找到一行。...这可能是除了system和const之外最好类型。 当主键或唯一非NULL索引所有字段都被用作join联接时会使用此类型。 eq_r ef可用于使用’='操作符作比较索引列。...比较值可以是常量,也可以是使用在此表之前读取表达式。 相对于下面的ref区别就是它使用唯一索引,即主键或唯一索引,而ref使用是非唯一索引或者普通索引。...要注意,全文索引优先级很高,若全文索引和普通索引同时存在时,mysql不管代价,优先选择使用全文索引 6、ref_or_null 跟ref类型类似,只是增加了null值比较。实际用不多。...Extra 字段显示, 常见有以下几种内容: distinct:在select部分使用了distinc关键字 Using filesort:当 Extra 中有 Using filesort

1.4K20

MySQL修改表字段

MySQL修改表字段 MySQL 修改表字段方法有两种: ALTER TABLE MODIFY COLUMN。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型 [属性]; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型,属性 表示修改后字段属性...0; 需要注意是,如果修改表字段数据类型或长度,可能会造成数据丢失或者修改失败。...因此,在进行字段类型修改时,需要先备份数据,避免出现意外情况。

5.4K10

MySQLjson字段

// MySQLjson字段 // MySQL5.7.8中引入了json字段,这种类型字段使用频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段操作方法...,info是json字段,插入了三条数据,如上: mysql> select * from test1 where json_extract(info,"$.age")>=30; +------+---...其中: 1、$符号代表是json根目录, 2、我们使用$.age相当于取出来了json中age字段, 3、当然,在函数最前面,应该写上字段名字info 下面来看json中常用函数: a、json_valid...判断是否是json字段,如果是,返回1,如果不是,返回0 mysql> select json_valid(2); +---------------+ | json_valid(2) | +------...,如果传入了字符串2,那么,返回结果是1 b、json_keys传回执行json字段最上一层key值 mysql> select json_keys('{"name":"yeyz","score":100

9K20

MySQL 字段操作

看完本文,你能够优雅地设计一张有意义表; 一、字段操作 1.添加字段 (add) alter table add 字段名 数据类型; desc ; 2.修改字段数据类型 (modify...) alter table modify ; 3.字段重命名 (change) #新字段名后要加上字段数据类型,否则报错 alter table change...,用于保证数据完整性,从而符合该字段达到我们期望效果,如果插入数据不满足约束要求,数据库管理系统就会拒绝执行SQL 操作 常见约束有 约束条件 含义 NOT NULL 约束字段值不能为空 DEFAULT...约束字段默认值 UNIQUE KEY 约束字段值唯一 PRIMARY KEY 约束字段为主键,唯一标识 AUTO_INCREMENT 字段值自动增加 1....主键约束(primary key) 主键约束字段不能为空,不能重复 #创建表时候,添加主键; CREATE TABLE (字段名 数据类型 PRIMARY KEY); 复合主键: 由多个字段组成主键

9.9K30

MySQL-存储引擎-创建表-字段数据类型-严格模式-字段约束-键-02

枚举 enum 集合 set 案例 约束条件 常见约束 primary key 主键 主键 -- 单字段 primary key 联合主键 primary key(字段1, 字段2...)...常见几个存储引擎 InnoDB MySQL 5.5 开始 默认存储引变更为 InnoDB 默认存储引擎,支持事务,支持行锁,表锁,外键,比较安全 因为 InnoDB 在存储数据时候,更加安全,...建表只会建一个文件: frm表结构,数据不存储 感兴趣小伙伴可以点这个链接了解一下:MySQLBlackHole引擎在主从架构中作用 引擎对应本地化文件 ?...char 类型字段时候,硬盘上确确实实存是固定长度数据,但是再取出来那一瞬间mysql 会自动将填充空格去除 ?...5种时间类型比较 枚举与集合 枚举 enum 限制某个字典能够存储数据内容只能是指定几个中一个(多选一) 集合 set 限制某个字段能够存储数据内容只能是指定内容中某几个(多选多) 以字符串形式传入多个值

2.4K30

MySQL字段知识科普

为什么varchar默认长度是255 1、 mysql要求varchar一个行定义长度不能超过65535bytes,这个大小包括了字段占用空间在内,text和blob等大字段除外(注: 单行最大限制指就是一张表中所有字段所设置长度总和不得超过...65535字节) 2、 InnoDB存储引擎表索引前缀长度最长是: 767字节,如果需要创建索引,不能超过这个长度。...、总结: varchar(255)不是最优字符长度,最优需要按照具体情况来,但是这个长度可以保证你能少出错一个不错默认值 int(20)中20表示什么意思 1、是指显示字符长度。...20表示最大显示宽度为20,但仍占4字节存储存储范围不变; 2、不影响内部存储,只是影响带 zerofill 定义 int 时,前面补多少个 0,易于报表展示 3、对大多数应用没有意义,只是规定一些工具用来显示字符个数...;int(1)和int(20)存储和计算均一样 额外科普   数据库删除指令中,Drop、Truncate、Delete区别在哪里?

86610

MySQL存储过程_MySQL创建存储过程

什么是存储过程 存储过程就是事先经过编译并存储在数据库中一段 SQL 语句集合; 为什么使用存储过程 调用存储过程可以简化应用开发人员很多工作,减少数据在数据库和应用服务器之间传输,对于提高数据处理效率是有好处...delimiter 指定SQL语句结束符 存储过程中变量 在MySQL中,变量一般可分为分为三种类型: 系统变量、用户定义变量、局部变量; 一、系统变量 系统变量是MySQL服务器系统自身提供...2、使用select into 方式给变量赋值 SELECT @var_name := expr [, @var_name := expr] ... ; SELECT 字段名 INTO @var_name...循环语句在编程中经常被用到,常用于对批量数据进行循环处理,在mysql存储过程中,也提供了几种常用循环语句,包括:while循环,repeat循环,和loop循环; 1、while循环语句 while...游标让 SQL 这种面向集合语言有了面向过 程开发能力; 在 SQL 中,游标是一种临时数据库对象,可以指向存储在数据库表中数据行指针。

22.2K21

MySQL存储字段是不区分大小写,你知道吗?

00 简单回顾 之前写过一篇关于mysql 对表大小写敏感问题(你有遇到过MySQL因大小写敏感导致问题吗),其实在mysql字段存储内容是不区分大小写,本篇进行简单总结。...02 解决方案 因为默认情况下字段内容是不区分大小写,也即大小写不敏感。所以解决方案就是要新增字段内容校验规则。 使用mysql BINARY 关键字使搜索区分大小写。...这两种查看表详情,本质上都是 在字段上 加上了 COLLATE utf8_bin。 03 总结 字段大小写由mysql校对规则来控制。提到校对规则,就不得不说字符集。...比如 utf8字符集,,如下表: 1)utf8_bin:utf8_bin将字符串中每一个字符用二进制数据存储,区分大小写。...通过上一篇和这一篇内容,详细大家对mysql对大小写敏感问题也有一定认识了,在实际开发中,库和表名最好使用小写字母,注意字段存储内容大写问题。

2.8K30
领券