数据库----数据类型正确选择

mysql支持的数据类型:

        数值型,如INTBIGINT,FLOAT和decimal

        日期和时间类型,如DATE,TIME和TIMESTAMP等

        字符串类型,如VARCHAR,CHAR和BLOB

        空间数据类型,如GEOMETRY,POINT和POLYGON

        JSON数据类型

        枚举类型(Enumeration Types):适合存储从预定义列表中选择的值。ENUM允许从一个列表中选择一个固定数量的值进行存储。

        集合类型(Set Types):与枚举类型类似,但允许选择多个值进行存储。SET允许从一个预定义的值集合中选择多个值进行存储。

数据类型的选择取决于字段存储的具体数据:

        1、确保正确存储数据

        2、空间利用最优

如同一个数据可能有多种存储方式,选择最合适的方式:

        如phone_number,为什么选择VARCHAR(20)

  • CHAR:固定长度的字符串类型。它始终使用指定的长度进行存储,不管实际字符串长度是多少,如果字符串长度小于指定长度,则会用空格进行填充。
  • VARCHAR:可变长度的字符串类型。它根据实际的字符串长度来进行存储,不会浪费存储空间。

举几个例子:

  1. 整数类型

    • 如果你需要存储员工的年龄,可以选择 TINYINT,因为年龄通常在 0 到 127 之间。
    • 如果你需要存储订单数量,可以选择 INT,因为订单数量可能会很大,而 INT 能够容纳较大的整数范围。
  2. 浮点数类型

    • 如果你需要存储商品的价格,可以选择 DECIMAL,因为商品价格需要精确到小数点后几位,而 DECIMAL 提供了固定的精度。
    • 如果你需要存储科学测量数据,可以选择 DOUBLE,因为科学测量数据可能需要较高的精度。
  3. 字符串类型

    • 如果你需要存储用户的姓氏,可以选择 VARCHAR,因为姓氏的长度可能会有所不同。
    • 如果你需要存储邮政编码,可以选择 CHAR(6),因为邮政编码通常是固定长度的。
  4. 日期和时间类型

    • 如果你需要存储订单的创建日期,可以选择 DATETIME,因为它可以同时存储日期和时间信息。
    • 如果你只需要存储时间信息,比如存储开店时间,可以选择 TIME
  5. 枚举类型

    • 如果你需要存储用户的性别信息,可以选择 ENUM('男', '女', '其他'),因为性别通常只有几个固定的取值。
  6. 集合类型

    • 如果你需要存储用户的兴趣爱好,可以选择 SET('篮球', '足球', '游泳', '登山'),因为用户可能有多个兴趣爱好。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值