说明:本文是作者对MySQL数据库数据存储类型的小小总结。...VARCHAR(10)表示最大存储10个字符长度的字符串,存储'PHP'时只分配3个存储空间,节约存储空间。 默认使用InnoDB引擎时,使用VARCHAR比较好。一般用VARCHAR类型比较多。...3、BLOB和TEXT BLOB存储大数据量的二进制数据,比如一张图片。BLOB分为:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB,根据存储字节最大长度分类。...TEXT存储大数据量的字符串数据,TEXT分为:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,根据存储文本最大长度分类。...4、ENUM 枚举类型,每一个值都有对应的索引index。最大两个字节存储,65535个不同成员。
数据表类型(存储引擎) 数据库引擎用于存储、处理和保护数据的核心服务,利用数据库引擎可控制访问权限并快速处理事务,利用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库,包括创建用于存储数据的表和用于查看...、管理、保护数据安全的数据库对象(索引、视图、存储过程)。...常见引擎比对 各引擎特点 Myisam mysql默认存储引擎,在磁盘上存储成三个文件.frm(存储表定义).MYD(MYData存储数据)。...Mysql运行时Innodb会在内存中建立缓冲池用于缓冲数据和索引,该引擎不支持fulltext类型索引且没有保存表的行数,select count(*) from table 血药扫全表。...Innodb必须有主键如果没有显示指定Mysql会自动选择一个唯一标识的数据记录为主键。 聚集索引按主键搜索效率十分高效,辅助索引必须检索两遍。
数据表类型(存储引擎) 数据库引擎用于存储、处理和保护数据的核心服务,利用数据库引擎可控制访问权限并快速处理事务,利用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库,包括创建用于存储数据的表和用于查看...mysql默认存储引擎,在磁盘上存储成三个文件.frm(存储表定义).MYD(MYData存储数据)。...Mysql运行时Innodb会在内存中建立缓冲池用于缓冲数据和索引,该引擎不支持fulltext类型索引且没有保存表的行数,select count(*) from table 血药扫全表。...3.Innodb必须有主键如果没有显示指定Mysql会自动选择一个唯一标识的数据记录为主键。 4.聚集索引按主键搜索效率十分高效,辅助索引必须检索两遍。...各个树比对 各个树比对 类型 特点 BTree 每个节点只存储一个关键字,等于命中,小于左节点,大于右节点 B-Tree 多路搜索树,每个节点存储M/2到M个关键字,非叶子节点存储指向关键字范围的子节点
# MySQL 表类型和存储引擎 mysql 表类型和存储引擎 基本介绍 主要的存储引擎/表类型特点 细节说明 三种存储引擎表使用案例 如何选择表的存储引擎 # mysql 表类型和存储引擎 # 基本介绍...行锁 存储限制 没有 64TB 有 没有 B树索引 支持 支持 支持 哈希索引 支持 支持 集群索引 支持 数据缓存 支持 支持 索引缓存 支持 支持 支持 数据可压缩 支持 支持...MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应-个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。...但是一旦MySQL服务关闭,表中的数据就会丢失掉,表的结构还在。...-- 1.数据存储在内存中[关闭mysql服务,数据丢失,但是表结构还在] -- 2.执行速度很快(没有IO读写) 3.默认支持索引(hash表) CREATE TABLE t29( id INT
行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余可以使系统速度更快。...authentication_string=password('666') where user='root'; flush privileges; Mysql数据类型 MySQL支持多种类型,大致可以分为三类...2.日期和时间类型 ? 3.字符串类型 ?...存储引擎 创建新表时如果不指定存储引擎 , 那么系统就会使用默认存储引擎 , MySQL 5.5 之前的默认存储引擎是MyISAM , 5.5 之后改为了InnoDB 查看当前数据库支持的存储引擎类型;...2.MyISAM 和 InnoDB的区别 1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持 2)myisam表不支持外键 3)在执行数据库写入的操作(insert,update,delete
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...下面的表显示了需要的每个整数类型的存储和范围。...BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。
MySQL数据类型 数据类型 指定值和范围 char String(0~255) varchar String(0~255) tinytext String(0~255) text String(0~65536...YYYY-MM-DD HH:MM:SS timestamp YYYYMMDDHHMMSS time HH:MM:SS enum 选项值之一 set 选项值子集 boolean tinyint(1) 数值数据类型...单精度浮点数 DOUBLE 双精度浮点数 BIT 一个字节字段 字符串数据类型 字符串类型 描述 char 固定长度的非二进制(字符)字符串 varchar 可变长度的非二进制字符串 BINARY...hh:mm:ss格式的时间戳记值 YEAR YYYY或YY格式的年 空间数据类型 字符串类型 描述 GEOMETRY 任何类型的空间值 POINT 一个点(一对X-Y坐标) LINESTRING...MySQL 5.7.8版本支持原生JSON数据类型,可以更有效地存储和管理JSON文档。
MySQL的数据类型 在MySQL中有如下几种数据类型: (1)数值型 数值是诸如32 或153.4 这样的值。...(M, D)] 4字节 DOUBLE[(M, D)] 8字节 DECIMAL (M, D) M字节(MySQL MySQL > 3.23 ) 表3:数值列类型的存储需求 ...在选项M 和D时,如果省略了它们,则使用缺省值 2.2字符串列类型 MySQL提供了几种存放字符数据的串类型,其类型如下: 类型名 说明 CHAR 定长字符串 VARCHAR 可变长字符串 TINYBLOB...下表给出了MySQL 定义串值列的类型,以及每种类型的最大尺寸和存储需求。...下表给出了MySQL 为定义存储日期和时间值所提供的这些类型,并给出了每种类型的合法取值范围。
数据类型实际上也是对数据的一种约束。...一.数据类型分类 二.数值类型 三.tinyint类型 数值越界测试: mysql> create table tt1(num tinyint); Query OK, 0 rows affected...此外,查看我们插入的数据发现无法看到bit类型对应的数据: 这是由于bit是以ASCII码的形式表示的,若想显示,需要如下的指令格式: 五.小数类型 float类型 语法: float[(m...六.字符串类型 char类型:定长字符串 char(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255 gbk编码,一个汉字占两个字节 utf8编码,一个汉字占三个字节...enum:枚举,“单选”类型; enum(‘选项1’,‘选项2’,‘选项3’,…); 该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值;而且出于效率考虑,这些值实际存储的是“数字
数值类型 MySQL支持所有标准SQL数值数据类型。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...下面的表显示了需要的每个整数类型的存储和范围。...每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 TIMESTAMP类型有专有的自动更新特性,将在后面描述。...有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
前言:本文详细介绍了MySQL中的数据类型分类,包括数值类型、浮点类、字符串类、日期和时间类型以及enum和set类型。解释了其存储范围及使用场景,并展示了相关测试代码。...通过这些数据类型的合理选择,可以优化数据库的存储和查询性能。希望本文能为您在MySQL数据类型选择上提供有价值的参考。...数据类型分类 一、数值类型 这里以tinyint为例进行讲解,其他类型原理相同,只是占用的字节空间不同。 注:MySQL语法是不区分大小写的,操作时使用小写更具可读性。...而MySQL直接报错。这也反向说明插入MySQL的数据一定是合法的。 MySQL的数据类型本身就是一种约束,它促使程序员正确填写数据。...插入数据时,该列只能选择枚举列表中的一个值。 适合存储单选数据,如性别、状态等。 set也是一种字符串对象,用于存储预定义的一组值中的零个或多个值。
MySQL之数据类型 MySQL常见的数据类型有数值、日期和时间、字符串 数值 整数类型(精确值) Integer Types (Exact Value) - INTEGER, INT, SMALLINT...DECIMAL, NUMERIC DECIMAL(5,2): 5代表精度,2代表刻度;表示该列总共可以存储5位数字,精确到小数点后2位; 存储范围: -999.99 ~ 999.99 NUMERIC就是...存储 4bytes float(7,4)就会看到这样:-999.9999的显示。...MySQL进行舍入时存储的值,所以如果你插入999.00009成浮(7,4)柱,近似的结果是999.0001 If M and D are omitted, values are stored to the...:保存二进制的大型数据(字节串),没有字符集,eg:图片、音频视频等 TEXT:保存非二进制字符串(字符串);有一个字符集 BINARY和VARBINARY:类似CHAR和VARCHAR;保存字节字符串
前言 数据库也是有数据类型的,各个类型也有不同的数据范围。...在前面的文章中我们只使用到了varchar这个类型,其实MySQL中还是有许多的其他类型: 上表只是对数据类型的简单介绍,下面就开始详细的讲解MySQL中的数据类型~ 1. bit类型 语法: bit...可以表达的范围为-99.99~99.99 注意:MySQL在保存值的时候会四舍五入。 创建一个数据类型为float(4,2)的属性。...更适合频繁修改、搜索的定长字段 如:国家代码、电话区号、性别等 因为定长数据对齐快、比较快 VARCHAR 更适合存储变化较大或较长的数据 如:地址、简介、备注等 节省存储空间,避免空格填充浪费...现在开始插入数据: 总结 本位介绍了MySQL中的数据类型,也了解的各个数据类型的具体用法,数据范围。希望大家在后续的创建表的过程中,可以合理使用这些数据类型。
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...下面的表显示了需要的每个整数类型的存储和范围。...BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...下面的表显示了需要的每个整数类型的存储和范围。...有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。 MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。...从而增大这个字段可以存储的值的范围。 ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。...TEXT 和 BLOB 类型 对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。... MySQL 用 DATE 和 TEAR 类型存储简单的日期值,使用 TIME 类型存储时间值。...DATEYIME 和 TIMESTAMP 类型 除了日期和时间数据类型,MySQL 还支持 DATEYIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。
MySQL不同存储引擎可能会有不同。下面的内容以InnoDB为主。 选择数据类型的步骤 确定合适的大类型:数字、字符串、时间、二进制 确定具体的类型:有无符号、取值范围、变长定长等。...实数类型 类型 字节 备注 FLOAT 4 单精度浮点数 DOUBLE 8 双精度浮点数 DECIMAL 可变 高精度定点数 DECIMAL只是一种存储格式,MySQL以二进制的合适存储DECIMAL...而MySQL在检索BIT的时候会将其当做字符串,而不是整数,这可能会导致一些奇怪的行为。 不建议使用这三个类型:用整数代替。 一些原则 选择最小的满足需求的数据类型。...一般情况下,应该尽量使用可以正确存储数据的最小数据类型。 简单就好。...比如,用MySQL的内建类型date, time, datetime来存储时间,而不是使用字符串;用INT UNSIGNED来存储IPv4地址。 如何存储IPv6的地址?
1.1数据类型分类 MySQL 数据类型可以分为三大类: 数值类型:包括整数类型、浮点类型、定点类型等。 字符串类型:包括 CHAR、VARCHAR、TEXT 等。...bit 类型用于存储位字段,可以存储二进制数据。...varchar 是可变长度的字符串类型,适用于存储长度不固定的字符串数据。...原因是:CHAR 和 VARCHAR 类型在 MySQL 中存储的是字符而非字节。在默认的 utf8 字符集下,每个字符通常占用 3 个字节。...1.5 enum 和 set 类型 1.5.1 enum 类型 enum 类型用于存储“单选”项。每个选项都有一个数字编号,对应存储在数据库中的实际值。
mysql 数据类型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint...二进制数据(_Blob) 1.BLOB和text存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而Blob是以二进制方式存储,不分大小写。 2._BLOB存储的数据只能整体读出。...日期时间类型 MySQL数据类型 含义 date 日期 '2008-12-2' time 时间 '12:25:36' datetime 日期时间 '2008-12-2 22:06:44' timestamp...自动存储记录修改时间 若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。...数据类型的属性 MySQL关键字 含义 NULL 数据列可包含NULL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT