数据库设计字段

mysql中int、bigint、smallint 和 tinyint的区别详细介绍

类型范围(无符号)大小范围(有符号)用途
TINYINT(0,255)1字节(-128,127)小整数值
SMALLINT(0,65 535)2字节(-32 768,32 767)大整数值
MEDIUMINT(0,16 777 215)3字节(-8 388 608,8 388 607)大整数值
INT或INTEGER(0,4 294 967 295)4字节(-2 147 483 648,2 147 483 647)大整数值
BIGINT(0,18 446 744 073 709 551 615)8字节(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)极大整数值

MySQL中Date,DateTime,TimeStamp和Time的解释和区别

Date:

名称解释
显示格式YYYY-MM-DD
显示范围1601-01-01 到 9999-01-01
应用场景当业务需求中只需要精确到天时,可以用这个时间格式
后台取值@JSONField(format=”yyyy-MM-dd”)

DateTime:

名称解释
显示格式YYYY-MM-DD HH:mm:ss
显示范围1601-01-01 00:00:00 到 9999-12-31 23:59:59
应用场景当业务需求中需要精确到秒时,可以用这个时间格式
后台取值@JSONField(format=”yyyy-MM-dd HH:mm:ss”)

TimeStamp:

名称解释
显示格式YYYY-MM-DD HH:mm:ss
显示范围1601-01-01 00:00:00 到 9999-12-31 23:59:59
应用场景当业务需求中需要精确到秒或者毫秒时,或者该系统用于不同时区,可以用这个时间格式
后台取值@JSONField(format=”yyyy-MM-dd HH:mm:ss:SSS”)(这里只会精确到秒)

Time:

名称解释
显示格式HH:mm:ss
显示范围00:00:00 到 23:59:59
应用场景当业务需求中只需要每天的时间,可以用这个时间格式
后台取值@JSONField(format=”HH:mm”)(这里是只精确到分,数据库存的也就是只精确到分,比如 09:36:00,如果需要精确到秒。需要使用@JSONField(format=”HH:mm:ss”))

DateTime和TimeStamp比较

1、精度:DateTime和TimeStamp都可以精确到毫秒(我目前使用的5.5的mysql,所以只能精确到秒,据说高版本的可以用TIMESTAMP(3)与 DATETIME(3)精确到毫秒。),但是用的很少,一般精确到毫秒都是用Timestamp,2、DateTime和TimeStamp最大的区别只是用的场景不同,如果你的应用 是用于不同时区(就是国内和国外同时使用),这时候如果用dateTime就会出现各种各样的问题,但是如果使用TimeStamp就不会出现这种时差的问题。

MySQL中tinytext、text、mediumtext和longtext等各个类型详解

类型范围说明 
Char(N) [ binary]N=1~255 个字节 binary :分辨大小写固定长度std_name cahr(32) not null
VarChar(N) [binary]N=1~255 个字节 binary :分辨大小写可变长度std_address varchar(256)
TinyBlob最大长度255个字节(2^8-1)Blob (Binary large objects)储存二进位资料,且有分大小写memo text not null
TinyText最大长度255个字节(2^8-1)  
Blob最大长度65535个字节(2^16-1)  
Text最大长度65535个字节(2^16-1)  
MediumBlob最大长度 16777215 个字节(2^24-1)  
MediumText最大长度 16777215 个字节(2^24-1  
LongBlob最大长度4294967295个字节 (2^32-1)  
LongText最大长度4294967295个字节 (2^32-1)  
Enum集合最大数目为65535列举(Enumeration),Enum单选、Set复选sex enum(1,0) habby set(‘玩电玩’,'睡觉’,'看电影’,'听音乐’)
Set集合最大数目为64同上 

辨別Null与Not Null :Null为允许储存空值(Null)

在My SQL 中varchar定义的长度的单位是字符,哪怕是1个多字节字符也是1个字符,如中文和英文字母都被当作1个字符来对待。

mysql创建表时的空值和非空值设置有什么讲究

空值是一种特殊的状态, 表示某一个字段"没有被处理过"几乎在所有的数据库中甚至是编程语言中, 空与非空都有其存在的意义, 举个例子, 一个人员表中, 有一个年龄字段, 这个年龄字段如果为非 空, 则在不知道人员年龄的情况下, 数据无法入库, 否则会显示个奇怪的年龄(比如0岁, 或者-1岁等)而有些情况泽不可以为空, 最常见的就是"主键", 比如身份证号之类的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值