五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

MySQL 中 datetime 和 timestamp 的區(qū)別與選擇

發(fā)布日期:2022-02-06 15:09 | 文章來源:源碼中國

MySQL 中常用的兩種時間儲存類型分別是datetimetimestamp。如何在它們之間選擇是建表時必要的考慮。下面就談談他們的區(qū)別和怎么選擇。

1 區(qū)別

1.1 占用空間

類型 占據(jù)字節(jié) 表示形式
datetime 8 字節(jié) yyyy-mm-dd hh:mm:ss
timestamp 4 字節(jié) yyyy-mm-dd hh:mm:ss

1.2 表示范圍

類型 表示范圍
datetime '1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999'
timestamp '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'

timestamp翻譯為漢語即"時間戳",它是當前時間到 Unix元年(1970 年 1 月 1 日 0 時 0 分 0 秒)的秒數(shù)。對于某些時間的計算,如果是以 datetime 的形式會比較困難,假如我是 1994-1-20 06:06:06 出生,現(xiàn)在的時間是 2016-10-1 20:04:50 ,那么要計算我活了多少秒鐘用 datetime 還需要函數(shù)進行轉換,但是 timestamp 直接相減就行。

1.3 時區(qū)

timestamp 只占 4 個字節(jié),而且是以utc的格式儲存, 它會自動檢索當前時區(qū)并進行轉換。

datetime以 8 個字節(jié)儲存,不會進行時區(qū)的檢索.

也就是說,對于timestamp來說,如果儲存時的時區(qū)和檢索時的時區(qū)不一樣,那么拿出來的數(shù)據(jù)也不一樣。對于datetime來說,存什么拿到的就是什么。

還有一個區(qū)別就是如果存進去的是NULL,timestamp會自動儲存當前時間,而 datetime會儲存 NULL。

2 測試

我們新建一個表

插入數(shù)據(jù)

查看數(shù)據(jù),可以看到存進去的是NULL,timestamp會自動儲存當前時間,而 datetime會儲存NULL

把時區(qū)修改為東 9 區(qū),再查看數(shù)據(jù),會會發(fā)現(xiàn) timestamp datetime 多一小時

如果插入的是無效的呢?假如插入的是時間戳

結果是0000-00-00 00:00:00,根據(jù)官方的解釋是插入的是無效的話會轉為 0000-00-00 00:00:00,而時間戳并不是MySQL有效的時間格式。

那么什么形式的可以插入呢,下面列舉三種

//下面都是 MySQL 允許的形式,MySQL 會自動處理
2016-10-01 20:48:59
2016#10#01 20/48/59
20161001204859

3 選擇

如果在時間上要超過Linux時間的,或者服務器時區(qū)不一樣的就建議選擇 datetime

如果是想要使用自動插入時間或者自動更新時間功能的,可以使用timestamp

如果只是想表示年、日期、時間的還可以使用 yeardate、 time,它們分別占據(jù) 1、3、3 字節(jié),而datetime就是它們的集合。

到此這篇關于MySQL datetime timestamp 的區(qū)別與選擇的文章就介紹到這了,更多相關MySQL 中 datetime timestamp 內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

香港快速服務器

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部