MySQL 建表时注意事项

项目场景:

在数据库建表时经常会茫然使用哪些类型,这篇文章可以满足你的使用场景;


Mysql类型描述:

  • tinyint:用于储存非常小的整数,范围为 -128到127(有符号)或0到255(无符号);
  • char(n):定长字符串,长度固定为n,如果存储的字符串短于n,MySQL会用空格填充;
  • varchar(n):可变长字符串,长度最多为n,根据实际内容分配空间;
  • bit:用于存储位字段,每个位代表一个布尔值;
  • enum:枚举类型,只允许存储预定义的一组值;
  • bigint:用于存储大整数,范围为-2^63到2^63-1;
  • decimal(m,n):定点数类型,用于存储精确的小数值,m为总位数,n为小数位数;
  • timestamp:时间戳类型,包含日期和时间,会根据时区自动转换;
  • datetime:包含日期和时间,但不会自动转换时区;

映射Java实体:

MySQL字段类型Java实体类类型MySQL表中的数据示例使用场景
tinyintbyte1 (0-255的整数)适用于存储非常小的整数,如状态码、布尔值等。
char(n)String"John" (固定长度,可能会有空格填充)适用于存储长度几乎不变的数据,如某些固定格式的编码。
varchar(n)String"Doe" (可变长度,仅存储实际字符)适用于存储长度可变的数据,如用户输入的文本信息。
bitboolean[]b'1101' (二进制字符串,每个位代表一个布尔值)适用于存储位图或标志位,如权限设置。
enumString'red' (枚举值之一,如'red', 'green', 'blue')适用于存储有限选项的数据,如性别、状态等。
bigintlong1234567890 (64位有符号整数)适用于存储大范围的整数,如序列号、ID等。
decimal(m,n)BigDecimal1234.5678 (定点数,m位总位数,n位小数位数)适用于存储精确的小数值,如金额、财务计算等。
timestampjava.sql.Timestamp'2024-04-12 15:30:00' (时间戳,包含日期和时间)适用于存储时间戳,如日志记录、事件触发时间等。
datetimejava.util.Date'2024-04-12 15:30:00' (日期时间,包含日期和时间)适用于存储日期和时间信息,如用户注册时间、活动开始时间等。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值