MySQL建表时需要注意什么?
...大约 1 分钟MySQL数据库
- 注意选择存储引擎,如果要支持事务选择 InnoDB。
- 注意字段类型的选择,对日期类型如果要记录时分秒建议使用 datetime,只记录年月日使用 date 类型;对于字符类型的选择,固定长度字段选择 char,不固定长度的字段选择 varchar,varchar 比 char 节省空间但速度没有 char 快;对于内容介绍类的长文本字段使用 text 或 longtext 类型;如果存储图片等二进制数据使用 blob 或 longblob 类型;对金额字段建议使用 decimal;对于数值类型的字段在确保取值范围足够的前提下尽量使用占用空间较小的类型。
- 主键字段建议使用自然主键,不要有业务意义(比如身份证号),建议使用 int unsigned 类型,特殊场景使用 bigint 类型。
- 如果要存储 text、blob 字段建议单独建一张表,使用外键关联。
- 尽量不要定义外键,保证表的独立性,可以存在外键意义的字段,也就是说不要使用物理外键,尽量使用逻辑外键。
- 设置字段默认值,比如:状态、创建时间等。
- 每个字段写清楚注释。
- 注意字段的约束,比如:非空、唯一、主键等。