MySQL 数字类型在表结构设计中数据类型注意事项

MySQL 数据库的字符串类型有 CHAR、VARCHAR、BINARY、BLOB、TEXT、ENUM、SET。不同的类型在业务设计、数据库性能方面的表现完全不同,其中最常使用的是 CHAR、VARCHAR

8.0版本以后 MySQL 的默认字符集设置为 UTF8MB4,否则,某些 emoji 表情字符无法在 UTF8 字符集下存储,比如 emoji 笑脸表情,对应的字符编码为 0xF09F988E

 

不推荐使用整型类型的属性 Unsigned,若非要使用,参数 sql_mode 务必额外添加上选项 NO_UNSIGNED_SUBTRACTION;

自增整型类型做主键,务必使用类型 BIGINT,而非 INT,后期表结构调整代价巨大;

MySQL 8.0 版本前,自增整型会有回溯问题,做业务开发的你一定要了解这个问题;

当达到自增整型类型的上限值时,再次自增插入,MySQL 数据库会报重复错误;

不要再使用浮点类型 Float、Double,MySQL 后续版本将不再支持上述两种类型;

账户余额字段,设计是用整型类型,而不是 DECIMAL 类型,这样性能更好,存储更紧凑。

 

排序规则(Collation)是比较和排序字符串的一种规则      绝大部分业务的表结构设计无须设置排序规则为大小写敏感!除非你能明白你的业务真正需要

 

性别设置这种 设定男和女 

是和否  设定TRUE  或者false

不要直接存储账户密码等 要加密处理。

再设计密码时 不能使用MD5来用  因为他们能够暴力破解   推荐使用动态盐和非固定加密算法

 

posted @ 2021-08-22 16:09  坏虫  阅读(105)  评论(0编辑  收藏  举报