欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

07、MySQL—时间日期类型

程序员文章站 2022-05-03 22:01:08
时间日期类型 1、Date 日期类型:系统使用三个字节来存储数据,对应的格式为:YYYY-mm-dd,能表示的范围是从1000-01-01 到9999-12-12,初始值为0000-00-00 2、Time 时间类型:能够表示某个指定的时间,但是系统同样是提供3个字节来存储,对应的格式为:HH:ii ......

时间日期类型

1、date

  日期类型:系统使用三个字节来存储数据,对应的格式为:yyyy-mm-dd,能表示的范围是从1000-01-01 到9999-12-12,初始值为0000-00-00

2、time

  时间类型:能够表示某个指定的时间,但是系统同样是提供3个字节来存储,对应的格式为:hh:ii:ss,但是mysql中的time类型能够表示时间范围要大的多,能表示从-838:59:59~838:59:59,在mysql中具体的用处是用来描述时间段。

3、datetime

  日期时间类型:就是将前面的date和time合并起来,表示的时间,使用8个字节存储数据,格式为yyyy-mm-dd hh:ii:ss,能表示的区间1000-01-01 00:00:00 到9999-12-12 23:59:59,其可以为0值:0000-00-00 00:00:00

4、timestamp

  时间戳类型:mysql中的时间戳只是表示从格林威治时间开始,但是其格式依然是:yyyy-mm-dd hh:ii:ss

5、year

  年类型:占用一个字节来保存,能表示1900~2155年,但是year有两种数据插入方式:0~99和四位数的具体年

① 创建对应的时间日期类型的数据表

 07、MySQL—时间日期类型

② 插入数据:正常数据

 07、MySQL—时间日期类型

③ year的特殊性:可以采用两位数的数据插入,也可以采用四位数的年份插入

 07、MySQL—时间日期类型

④ year进行两位数插入的时候,有一个区间划分,零界点为69和70:当输入69以下,那么系统时间为20+数字,如果是70以上,那配系统时间为19+数字

 07、MySQL—时间日期类型

⑤ timestamp当对应的数据被修改的时候,会自动更新(这个被修改的数据不是自己)

 07、MySQL—时间日期类型

⑥ time类型特殊性:本质是用来表示时间区间(当前时间之后的多少个小时),能表示的范围比较大

 07、MySQL—时间日期类型

⑦ 在进行时间类型录入的时候(time)还可以使用一个简单的日期代替时间,在时间格式之前加一个空格,然后指定一个数字(可以是负数):系统会自动将该数字转换成天数 * 24小时,再加上后面的时间。

 07、MySQL—时间日期类型

  php中有着非常强大的时间日期转换函数:date将时间戳转换成想要的格式,strtotime又可以将很多格式转换成对应的时间戳。php通常不需要数据库来帮助处理这么复杂的时间日期,所以通常配合php的时候,时间的保存通常使用时间戳(真正),从而用整型来保存。字符串型

mysql记录长度

  在mysql中,有一项规定:mysql的记录长度(record == 行row)总长度不能超过65535个字节。

  varchar能够存储的理论值为65535个字符:字符在不同的字符集下可能占用多个字节。

① 创建表:证明varchar在mysql中能够达到的理论值(utf8和gbk)

varchar除了存储的数据本身要占用空间:还需要额外的空间来保存记录长度

 07、MySQL—时间日期类型

②  计算在utf8和gbk下对应的varchar能够存储的长度

utf8 最多只能存储21844个字符

gbk最多只能存储32766个字符

07、MySQL—时间日期类型