DateTime、TimeStamp) Mysql中的数据类型

DateTime vs TimeStamp


今天突发奇想,数据库的时间到底是如何插入的?

SimPleDateFormat的parse和format方法! (老是忘

一个用来date转string,一个是string转date

    2.1、获取系统当前时间
        Date d = new Date();
    2.2、日期格式化:Date --> String
        yyyy-MM-dd HH:mm:ss SSS
        SimpleDateFormat sdf = new SimpleDate("yyyy-MM-dd HH:mm:ss SSS");
        String s = sdf.format(new Date());
    2.3、String --> Date
        SimpleDateFormat sdf = new SimpleDate("yyyy-MM-dd HH:mm:ss");
        Date d = sdf.parse("2008-08-08 08:08:08");
    2.4、获取毫秒数
        long begin = System.currentTimeMillis();
        Date d = new Date(begin - 1000 * 60 * 60 * 24);

一、通常我们都会把mysql的日期字段的数据类型设为 DATATIME

那么我们只需要在java中new一个Date类型的对象 调用实体类的方法即可

(例如fortune中 往中间表插入)

二、在fortune项目中 往g_sales_order中 不用自己插入时间 CURRENT_TIMESTAMP

三、瑞吉外卖中 ThreadLocal


2023/6/24  

一、Mysql 关于 int(1) 和 int(11)

先说结论: 没有为mysql 字段设置零填充 zerofill属性的时候,int(1)和int(11)没有任何区别

字段在设置zerofill属性后,int(4)显示0003,而int(11)显示00000000003 (int类型最长支持11位)

也就是说,int(4),这个4不是指的int整型的长度,而是指设置zerofill属性后自动在前头填充0的位数。(显示长度

如果是 默认int (默认是有符号),那你就int(11) 好了;(

mysql 创建int 类型,默认就是有符号。 也就是说范围在 -2147483648 ~ 2147483647 。

2147483647 长度 10           -2147483648 长度 11 )

如果是 无符号 unsigned int ,那你就int (10) 好了。(无符号的int 范围在 0 ~ 4294967295

长度 10 ;)

参考:

https://blog.csdn.net/qq_35387940/article/details/123325009

https://blog.csdn.net/weixin_42545159/article/details/116112984?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-116112984-blog-113601645.235^v38^pc_relevant_anti_t3_base&spm=1001.2101.3001.4242.1&utm_relevant_index=3

二、Java中的char和String

引用我自己https://blog.csdn.net/weiyuhaodashabi/article/details/129235805

三、 char和varchar

关系数据库中,CHAR和VARCHAR是两种常见的数据类型,用于存储字符串。它们之间的主要区别在于存储方式和存储长度

  1. 定长和变长

char 表示定长,长度固定varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。

  1. 存储的容量不同

对 char 来说,最多能存放的字符个数 255,和编码无关

而 varchar 呢,最多能存放 65532 个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是 65,532字节。

例子:

CREATE TABLE example (
  char_column CHAR(10),
  varchar_column VARCHAR(10)
);
 
INSERT INTO example (char_column, varchar_column) VALUES ('Hello', 'Hello');
 
SELECT char_length(char_column) AS char_length, char_length(varchar_column) AS varchar_length FROM example;

https://blog.csdn.net/inthat/article/details/115176727

https://blog.csdn.net/Blue92120/article/details/130470871

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值