日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql show timestamp_mysql中 datatime与timestamp的区别说明

發布時間:2024/9/27 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql show timestamp_mysql中 datatime与timestamp的区别说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql中有三種日期類型:

date(年-月-日)

create table test(hiredate date);

datetime(日期時間類型)

create table test(hiredate datetime)

timestamp(郵戳類型,保存年-月-日 時-分-秒)

create table test(hiredate timestamp)

datetime 和timestamp的不同點

1、兩者的存儲方式不一樣

對于TIMESTAMP,它把客戶端插入的時間從當前時區轉化為UTC(世界標準時間)進行存儲。查詢時,將其又轉化為客戶端當前時區進行返回。而對于DATETIME,不做任何改變,基本上是原樣輸入和輸出。

2、兩者所能存儲的時間范圍不一樣

timestamp所能存儲的時間范圍為:'1970-01-01 00:00:01.000000' 到 ‘2038-01-19 03:14:07.999999'。

datetime所能存儲的時間范圍為:'1000-01-01 00:00:00.000000' 到 ‘9999-12-31 23:59:59.999999'。

總結:TIMESTAMP和DATETIME除了存儲范圍和存儲方式不一樣,沒有太大區別。當然,對于跨時區的業務,TIMESTAMP更為合適。

3、自動初始化和更新

自動初始化指的是如果對該字段(譬如上例中的hiredate字段)沒有顯性賦值,則自動設置為當前系統時間。

自動更新指的是如果修改了其它字段,則該字段的值將自動更新為當前系統時間。

它與“explicit_defaults_for_timestamp”參數有關。

默認情況下,該參數的值為OFF

mysql> show variables like '%explicit_defaults_for_timestamp%';

+---------------------------------+-------+

| Variable_name | Value |

+---------------------------------+-------+

| explicit_defaults_for_timestamp | OFF |

+---------------------------------+-------+

row in set (0.00 sec)

總結:timestamp有自動初始化和更新,當你update某條記錄的時候,該列值會自動更新,這是和datatime最大的區別。

補充:DATETIME與TIMESTAMP的一些區別與問題

今天遇到一個問題,明明數據有更新,update_time字段卻還停留在創建數據的時候。

按常理來說這個字段應該是自動更新的才對。

查了一下表結構,

`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP

發現update_time字段的類型是datetime

由此牽扯出兩個問題,(1)timestamp與datetime的區別;(2)CURRENT_TIMESTAMP為什么能用于datetime類型

timestamp與datetime的區別

a)DATETIME的默認值為null;TIMESTAMP的字段默認不為空(not null),默認值為當前時間(CURRENT_TIMESTAMP),如果不做特殊處理,并且update語句中沒有指定該列的更新值,則默認更新為當前時間。

這個區別就解釋了為什么平時我們都不用可以管這個字段就能自動更新了,因為多數時候用的是timestamp;而此處用的是datetime,不會有自動更新當前時間的機制,所以需要在上層手動更新該字段

b)DATETIME使用8字節的存儲空間,TIMESTAMP的存儲空間為4字節。因此,TIMESTAMP比DATETIME的空間利用率更高。

這個區別解釋了為啥timestamp類型用的多

c)兩者的存儲方式不一樣 ,對于TIMESTAMP,它把客戶端插入的時間從當前時區轉化為UTC(世界標準時間)進行存儲。查詢時,將其又轉化為客戶端當前時區進行返回。而對于DATETIME,不做任何改變,基本上是原樣輸入和輸出。

d)兩者所能存儲的時間范圍不一樣

timestamp所能存儲的時間范圍為:'1970-01-01 00:00:01.000000' 到 ‘2038-01-19 03:14:07.999999';

datetime所能存儲的時間范圍為:'1000-01-01 00:00:00.000000' 到 ‘9999-12-31 23:59:59.999999'。

CURRENT_TIMESTAMP為什么能用于datetime類型

在mysql 5.6之前的版本,CURRENT_TIMESTAMP只能用于timestamp類型,

5.6版本之后,CURRENT_TIMESTAMP也能用于datetime類型了

select version()查了一下數據庫發現確實版本是5.6.29

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持站圈網。如有錯誤或未考慮完全的地方,望不吝賜教。

總結

以上是生活随笔為你收集整理的mysql show timestamp_mysql中 datatime与timestamp的区别说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜视频福利在线 | 婷婷综合精品 | 成人在线综合 | 国产综合精品久久久久成人影 | 国产浪潮av| 小小姑娘电影大全免费播放 | 欧美激情伊人 | 天天干天天操天天舔 | 日本少妇电影 | 午夜一区二区三区免费观看 | 麻豆一二三区 | 9人人澡人人爽人人精品 | 欧美精品区 | 一本色道久久亚洲综合精品蜜桃 | 五级 黄 色 片| 黑人vs日本人ⅹxxxhd | 超碰精品在线观看 | 欧美疯狂做受 | 日韩av在线一区 | 欧美在线视频观看 | 久久久噜噜噜久久中文字幕色伊伊 | 国产美女在线免费 | 五月天久久久久久 | 实拍澡堂美女洗澡av | 亚洲欧美日韩高清 | 一区二区三区黄色录像 | 欧美成人三级精品 | 天堂毛片 | 爱爱视频在线免费观看 | 亚洲久久在线观看 | 欧美69av | 亚洲激情影院 | 一极黄色大片 | 久久综合高清 | 日韩国产区 | 激情六月婷 | 久久久久久久性 | 中文亚洲欧美 | 国产精品一级黄色片 | 影音先锋波多野结衣 | 99riav3国产精品视频 | 中文字幕无码乱人伦 | 青青视频免费在线观看 | 成人在线视频网 | 河北彩花中文字幕 | 国产成人无码精品亚洲 | 少妇情理伦片丰满午夜在线观看 | 天天射寡妇 | 麻豆视频在线观看免费网站黄 | 国产老头户外野战xxxxx | 日本一区二区精品视频 | 日韩二区三区 | 国产ts在线观看 | 在线观看免费中文字幕 | 香蕉视频黄在线观看 | 国产福利一区二区视频 | 天天操天天干天天爱 | 青草91 | 福利精品 | 免费无码肉片在线观看 | 婷婷亚洲综合五月天小说 | 国产精品久久久久久三级 | 久久国产香蕉视频 | av在线免费观看网站 | 欧美特级毛片 | 久久视频精品在线 | 午夜国产福利在线观看 | 永久免费54看片 | 被各种性器调教到哭vk | 蜜桃成人av | 女女同性女同一区二区三区按摩 | av中文字幕在线免费观看 | 久久99网 | 国产免费一区二区三区最新不卡 | 久久精品电影网 | 亚洲乱亚洲乱妇 | 宿舍女女闺蜜调教羞辱 | 色香五月 | 欧美丰满老熟妇xxxxx性 | 夜夜欢天天干 | 欧美一区二区三区日韩 | 野花社区视频在线观看 | 一级视频黄色 | 一区二区三区欧美日韩 | 激情综合网激情 | 夜久久久| 久久8| 国产精品视频一区二区在线观看 | 无码无遮挡又大又爽又黄的视频 | 大黄一级片 | 久久裸体视频 | 色播综合网 | 成人看片黄a免费看视频 | 一区二区三区视频在线观看免费 | 国产精品粉嫩 | 成人精品一区二区三区四区 | 97福利视频 | 户外少妇对白啪啪野战 | 日日夜夜撸撸 |