zoukankan      html  css  js  c++  java
  • 8.3.3

    日期类型

    DATE TIME DATETIME TIMESTAMP YEAR

    作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等

     YEAR
                YYYY(1901/2155)
    
            DATE
                YYYY-MM-DD(1000-01-01/9999-12-31)
    
            TIME
                HH:MM:SS('-838:59:59'/'838:59:59')
    
            DATETIME
    
                YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59    Y)
    
            TIMESTAMP
    
                YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)
    范围
    create table student(
     id int,
     name char(6),
     born_year year,
     birth_date date,
     class_time time,
     reg_time datetime
    );
    
    insert into student values
    (1,'cmz',now(),now(),now(),now());
    
    insert into student values
    (2,'leco',"1997","1997-12-12","12:12:12","2017-12-12 12:12:12");

    具体操作过程

    # 具体过程
    mysql> create table student(
        ->  id int,
        ->  name char(6),
        ->  born_year year,
        ->  birth_date date,
        ->  class_time time,
        ->  reg_time datetime
        -> );
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> 
    mysql> insert into student values
        -> (1,'cmz',now(),now(),now(),now());
    Query OK, 1 row affected, 1 warning (0.01 sec)
    
    mysql> insert into student values
        -> (2,'leco',"1997","1997-12-12","12:12:12","2017-12-12 12:12:12");
    Query OK, 1 row affected (0.37 sec)
    
    mysql> select * from student;
    +------+------+-----------+------------+------------+---------------------+
    | id   | name | born_year | birth_date | class_time | reg_time            |
    +------+------+-----------+------------+------------+---------------------+
    |    1 | cmz  |      2018 | 2018-03-12 | 21:04:51   | 2018-03-12 21:04:51 |
    |    2 | leco |      1997 | 1997-12-12 | 12:12:12   | 2017-12-12 12:12:12 |
    +------+------+-----------+------------+------------+---------------------+
    2 rows in set (0.01 sec)

    datetime与timestamp的区别

    在实际应用的很多场景中,MySQL的这两种日期类型都能够满足我们的需要,存储精度都为秒,但在某些情况下,会展现出他们各自的优劣。
    下面就来总结一下两种日期类型的区别。
    
    1.DATETIME的日期范围是1001——9999年,TIMESTAMP的时间范围是1970——2038年。
    
    2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也依赖于时区。在mysql服务器,
    操作系统以及客户端连接都有时区的设置。
    
    3.DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节。因此,TIMESTAMP比DATETIME的空间利用率更高。
    
    4.DATETIME的默认值为null;TIMESTAMP的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP),
    如果不做特殊处理,并且update语句中没有指定该列的更新值,则默认更新为当前时间。
    了解知识点
  • 相关阅读:
    黑客长期摇号不中"黑"掉北京小客车摇号网
    网络犯罪新动向:“黑客”学历不高 年龄不超30岁
    McAfee重返科技业 研制D-Central防政府监视
    windows系统服务编程代码示例分享
    Fireeye火眼公司发布报告,评论中国网络间谍活动
    FBI是如何破获“美国少女”裸照勒索案的
    得到内网域管理员的5种常见方法
    别人在用你的什么技术在赚钱.其实你天天在做
    慢一点恋爱,别急着洞房
    元芳,关于向朋友借钱你怎么看
  • 原文地址:https://www.cnblogs.com/caimengzhi/p/8552011.html
Copyright © 2011-2022 走看看