date是短日期:只包括年月日信息 默认格式:%Y-%m-%d
datetime是长日期:包括年月日时分秒信息 默认格式:%Y-%m-%d %h-%i-%s
以下语句创建了一个 s_user 的表,其属性类型中 birth、create_time 就分别为date、datetime属性
mysql> create table s_user( id int,name varchar(32),birth date,create_time datetime);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into s_user(id,name,birth,create_time) values(1,'zhangsan','1990-10-01','2023-9-29 23:41:55');
Query OK, 1 row affected (0.00 sec)
mysql> select * from s_user;
+------+----------+------------+---------------------+
| id | name | birth | create_time |
+------+----------+------------+---------------------+
| 1 | zhangsan | 1990-10-01 | 2023-09-29 23:41:55 |
+------+----------+------------+---------------------+
1 row in set (0.00 sec)
特别提示:
在MySQL中还可以通过 now() 函数来获取系统当前时间。
且获取到的时间是datetime类型,自带时分秒信息
所以我们对插入语句进行了一个修改:给create_time属性赋值时直接使用now()函数即可
mysql> insert into s_user(id,name,birth,create_time) values(2,'王五','2000-10-01',now());
Query OK, 1 row affected (0.00 sec)
mysql> select * from s_user;
+------+----------+------------+---------------------+
| id | name | birth | create_time |
+------+----------+------------+---------------------+
| 1 | zhangsan | 1990-10-01 | 2023-09-29 23:41:55 |
| 2 | 王五 | 2000-10-01 | 2023-09-29 23:47:49 |
+------+----------+------------+---------------------+
2 rows in set (0.00 sec)