mysql数据类型

MySQL 数据类型 详解

大城市里の小女人 提交于 2021-02-05 03:00:42
数值类型   MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。   表列出了各种数值类型以及它们的允许范围和占用的内存空间。 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 FLOAT 4 字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1

三:MySQL中的数据类型

ε祈祈猫儿з 提交于 2019-12-01 19:29:26
MySQL中但数据类型主要分为 数值类型、字符串类型、日期时间类型,随着MySQL版本升级,往往会对一些数据类型进行优化。 数值类型 整型 数据类型 字节 有符号 无符号 TINYINT 1 -128 ~ 127 0 ~ 255 SMALLINT 2 -32768 ~ 32767 0 ~ 65535 MEDIUMINT 3 -8388608 ~ 8388607 0 ~ 16777215 INT 4 -2147483648 ~ 2147483647 0 ~ 4294967295 BITINT 8 -9233372036854775808 ~ 9223372036854775807 0 ~ 8446744073709551615 数值宽度 整型的数据类型可以指定数值的宽度比如: //默认的INT型 字宽为11 INT(11) //指定宽度为4的时候 如果配合ZEROFILL使用 如果不足4位将会在前面补0 INT(4) 有符号和无符号 默认情况下如果没有指定是否有符号则默认为有符号(SIGNED),如果指定ZEROFILL会自动设置为无符号(UNSIGNED)。 AUTO_INCREMENT 整型可以设置 AUTO_INCREMENT 属性保持该字段可以自动增长,该字段应该设置为主键约束或增加唯一索引并且将其设置为NOT NULL。 浮点型 数据类型 字节 float 4 double

小蚂蚁学习mysql性能优化(7)--数据库结构优化--选择合适的数据类型

左心房为你撑大大i 提交于 2019-11-27 19:28:29
关于SQL以及索引优化的部分终于学习完了,今天开始进入第二层次的学习,数据库的结构优化,第一部分,选择合适的数据类型。 数据类型的选择,重点在于合适二字。 1. 使用可以存下数据的最小的数据类型 比如,一个时间类型的一个数据,可以使用varchar,可以使用datetime,还可以使用int,如何选择,就看哪一种类型对我们来说是最小的,不言而喻,int类型相对来说是最小的数据类型。 2. 使用简单的数据类型。 int类型要比varchar类型在mysql处理上简单的多,用int类型来存储时间是一个非常好的选择。 3. 尽可能的使用not null来定义字段。 这是因为innodb的一些特性所决定的,对于一些为null的字段,他可能需要一些额外的字段来进行存储,同时也会增加IO和存储的开销,所以在进行表结构设计的时候,尽量把每一个字段设计成not null,并且给出一个默认值。 4. 尽量少的使用一些大的类型,比如:text类型 如果非用不可的情况下,最好把这些字段单独提出来,存在一张附加表之中,一方面增加了主表的查询效率,另一方面在需要的时候对附加表进行这种大数据的查询。 使用int类型来存储时间,利用FROM_UNIXTIME()和UNIX_TIMESTAMP()两个函数来进行转换。 如 FROM_UNIXTIME(1443922330,‘%Y-%m-%d’); 得到一个格式化的