mysql时间字段中又t和z怎么处理_跟王老师学MySQL:MySQL数据类型之日期与时间类型(示例代码)...

跟王老师学MySQL:MySQL数据类型之日期与时间类型

主讲教师:王少华   QQ群号:483773664

学习内容

YEAR类型的特点及使用

TIME类型的特点及使用

DATE类型的特点及使用

DATETIME类型的特点及使用

TIMESTAMP类型的特点及使用

MySQL表示日期和时间的数据类型有以下几种:

1.YEAR类型

2.TIME类型

3.DATE类型

4.DATETIME类型

5.TIMESTAMP类型

lazy.gif

一、Year类型

(一)简介

year使用一个字符串来表示年份

MySQL中以YYYY形式显示year类型的值

取值范围:1901-2155

(二)举例

1 、创建一张表1

2

3

4

5create table history(

idint primary key auto_increment,

titlevarchar(10),

yyear

);

lazy.gif

2 插入语正常值1insert into history(title,y)values(‘中华人民共和国成立‘,‘1949‘);

lazy.gif

3、插入小于1901值1insert into history(title,y)values(‘史前文明‘,‘1900‘);

lazy.gif

4、插入2位数的值

1-69 转换为2001-2069

70-99 转换为1970-1999

0 转换为00001

2

3insert into history(title,y)values(‘1-69‘,23);

insert into history(title,y)values(‘70-99‘,85);

insert into history(title,y)values(‘0‘,0);

lazy.gif

5、0和‘0’的区别

0 表示 0000

‘0‘ 表示20001

2insert into history(title,y)values(‘二个零的区别‘,0);

insert into history(title,y)values(‘二个零的区别‘,‘0‘);

lazy.gif

二、Date类型

(一)简介

使用4个字符来表示日期

以YYYY-MM-DD来表示日期的值。YYYY表示年份,MM表示月份,DD表示日

Date类型的表示范围:1000-01-01到9999-12-31

(二)举例

1、history表添加一列 d date1alter table historyadd ddate;

lazy.gif

2、输入格式YYYY

可以有多种:

YYYY-MM-DD

YYYYMMDD

YYYY/MM/DD

YYYY.MM.DD1

2

3

4

5insert into history(title,d)values(‘YYYY-MM-DD‘,‘2016-6-22‘);

insert into history(title,d)values(‘YYYYMMDD‘,‘20160622‘);

insert into history(title,d)values(‘YYYY/MM/DD‘,‘2016/06/22‘);

insert into history(title,d)values(,);

insert into history(title,d)values(‘YYYY.MM.DD‘,‘2016.06.22‘);

lazy.gif

3、输入格式YY

规则跟Year类型相同

1-69 2001-2069

70-991970-19991insert into history(title,d)values(‘YY.MM.DD‘,‘15.06.22‘);

lazy.gif

4 获得当前日期

current_Date

now()1

2insert into history(title,d)values(‘当前日期:‘,current_date);

insert into history(title,d)values(‘当前日期:‘,now());

lazy.gif

三、Time类型

(一)简介

Time类型使用3个字节来表示

MySQL中以HH:MM:SS的形式显示TIME类型的值,其中HH表示时,MM表示分,SS表示秒

表示范围:-838:59:59~838:59:59

(二)赋值

1、添加一列 t time1alter table history add ttime;

lazy.gif

2、D HH:MM:SS

D表示天数,小时的值等于(D*24+HH),比如‘2 11:30:59   显示59:30:591insert into history(title,t)values(‘D HH:MM:SS‘,‘2 11:30:50‘);

lazy.gif

3 HHMMSS1insert into history(title,t)values(‘HHMMSS‘,‘131313‘);

lazy.gif

4 如果分钟和秒钟大于59,会报错1insert into history(title,t)values(‘大于59‘,‘126767‘);

lazy.gif

5 0和’0‘ --> 00:00:001insert into history(title,t)values(‘0‘,‘0‘);

lazy.gif

6 获得当前系统时间

current_time

now()1

2insert into history(title,t)values(‘获得当前时间‘,current_time);

insert into history(title,t)values(‘获得当前时间‘,now());

lazy.gif

四、DateTime类型

(一)简介

DATETIME类型,从形式上可以看成DATE类型和TIME类型的组合

DateTime类型使用8个字节来表示日期和时间

MySQL中以YYYY-MM-DD HH:MM:SS 的形式来显示DATETIME类型的值

(二)输入

1、添加列1alter table historyadd dt datetime;

lazy.gif

2 YYYY-MM-DD HH:MM:SS

也可以无分隔符

分隔符可以是多少形式1

2insert into history(title,dt)values(‘无分隔符‘,‘20160622200422‘);

insert into history(title,dt)values(‘@分隔符‘,);

lazy.gif

3 YY-MM-DD HH:MM:SS

00-69 -->2000-2069

70--99-->1970-1999

4、0--->0000-00-00 00:00:00

5 获得当前系统日期和时间1insert into history(title,dt)values(‘日期和时间‘,now());

lazy.gif

五、Timestamp类型

(一)简介

TIMESTAMP类型使用4个字节来表示日期和时间

范围:1970-01-01 08:00:01--2038-01-19 11:14:07

显示跟输入DATETIME一样

(二)TIMESTAMP与DateTime的不同之处

1 添加一列1alter table historyadd tstimestamp;

lazy.gif

2 获得当前系统日期与时间

datetime   now()

timestamp current_timestamp1insert into history(title,dt,ts)values(‘获得当前日期与时间‘,now(),current_timestamp);

lazy.gif

3 对null或无输入的处理

datetime,输入null,存储null;

不输入,存储null

timestamp,输入null,存储当前系统日期和时间

不输入,存储当前系统日期和时间1

2insert into history(title,dt,ts)values(‘null或无输入‘,null,null);

insert into history(title)values(‘null或无输入‘);

lazy.gif

4 timestamp类型范围小,没有datetime类型范围大

因此,若需要的时间范围比较大,还是选择datetime类型比较安全

六、教学视频

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值