数据类型

数据类型问题不是初学者考虑的问题


数据类型

类型大小范围(有符号)范围(无符号)用途
TINYINT 1 byte (-128,127) (0,255) 小整数值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 bytes (-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.175 494 351 E-38,3.402 823 466 E+38) 单精度浮点数值
DOUBLE 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

无符号就是只为正,是有符号的俩倍


枚举类型:

 create table t_5(
 gender enum('man','woman','?','nothing','it')
 );
 // 必须取枚举类型之内数据的其中一个
 
 // 为了节省字节,还可以用数字来代替枚举中的数据
 insert into t_5 values(2);

枚举的好处:

  1. 速度快,存数字,读取数字,快

  2. 节省空间,最多只占2个字节

  3. 限制数据,只允许是enum的数据


set类型

 create table t_6(
 hobby set('哲学','经济学','文学','IT','数学','MBA')
 );
 
 insert into t_6 vlaues('IT','MBA');
 // 错误,不应该是俩个字段
 
 insert into t_6 values('IT,MBA');
 // 正确,只能存一个字段
 // 也不能插入set中没有的

时间和日期类型: 每一个表中都应该有时间类型 datetime为最常用的时间类型

 create table t_7(
 createTime datetime
 );
 
 insert into t_7 values('2020-07-07 9:28:23');
 // 遵循格式创建

 

posted @ 2020-07-30 13:32  leoIOIO  阅读(28)  评论(0)    收藏  举报