第八章 1选择合适的数据类型,Char和varchar;Text和blob;浮点数与定点数:;日期类型的选择:mysql总共有5种日期时间类型:

Char和varchar

Char是固定长度字符类型

Varchar是可变长度的字符类型

 

Char类型在存储数据时,会自动去除尾部空格;前面空格会保留;

Varchar 类型会保留前后空格;

例如:INSERT into dev_learn_type VALUES(222,22,'  abdc  ','  abdc  ','');

Char的长度是固定的,所以处理速度比varchar要快;

 

 

Text和blob

Text 和blob第一个 主要区别就是blob是二进制安全的,也就是可以保存图片等;

Text只能保存字符数据;

 

Text又分 text ,mediumtext,longtext ;一般选择可以满足需求的最小的存储类型;有利于性能优化;

 

Text和blob 在大量删除内容时,会使存储的物理文件产生‘空洞’,这些空洞 在插入记录时,效率会受到影响。可以使用 OPTIMIZE TABLE 表名;进行处理;

 

浮点数与定点数:

Mysql的 float 。double。real 用来表示浮点数;

浮点数在插入数据的精度超过定义的实际精度时会四舍五入;

 

Mysql decimal。Numberic.表示定点数:

定点数在 如果超过定义的精确度,在mysql的默认的sqlmodel下会四舍五入插入;

Mysql的TRADITIONAL 传统模式下,会插入失败,报错;

 

精度要求较高的情况下 一般选用 定点数;

 

日期类型的选择:

日期类型根据需要选择可以满足的占用最小存储的类型,这样可以提高操作表的效率;例如只需精确到年,这选择year类型;

记录的年份比较久远,需要选择datetime,因为timestamp 记录范围小:

 

如果需要满足不同时区的用户使用,需要选择timestamp类型,因为 timestamp 类型 和时区 是有关的;会根据时区的不同 自动计算当前时区对应的日期;

 

mysql总共有5种日期时间类型:

 

类型           字节          最小值                           最大值

 

DATE         4            1000-01-01               9999-12-31

 

DATETIME 8      1000-01-01 00:00:00  9999-12-31 23:59:59

 

TIMESTAMP  4   19700101080001       2038-01-19 11:14:07

 

TIME           3        -838:59:59                838:59:59 

 

YEAR         1                 1901                     2155

 

发布了301 篇原创文章 · 获赞 197 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/boss_way/article/details/98057435
今日推荐