欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年09月26日 10:33:22   作者:程淇銘  
MySQL 中常用的兩種時(shí)間儲(chǔ)存類(lèi)型分別是datetime和 timestamp。如何在它們之間選擇是建表時(shí)必要的考慮。下面就談?wù)勊麄兊膮^(qū)別和怎么選擇,需要的朋友可以參考一下

MySQL 中常用的兩種時(shí)間儲(chǔ)存類(lèi)型分別是datetimetimestamp。如何在它們之間選擇是建表時(shí)必要的考慮。下面就談?wù)勊麄兊膮^(qū)別和怎么選擇。

1 區(qū)別

1.1 占用空間

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

1.2 表示范圍

類(lèi)型 表示范圍
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翻譯為漢語(yǔ)即"時(shí)間戳",它是當(dāng)前時(shí)間到 Unix元年(1970 年 1 月 1 日 0 時(shí) 0 分 0 秒)的秒數(shù)。對(duì)于某些時(shí)間的計(jì)算,如果是以 datetime 的形式會(huì)比較困難,假如我是 1994-1-20 06:06:06 出生,現(xiàn)在的時(shí)間是 2016-10-1 20:04:50 ,那么要計(jì)算我活了多少秒鐘用 datetime 還需要函數(shù)進(jìn)行轉(zhuǎn)換,但是 timestamp 直接相減就行。

1.3 時(shí)區(qū)

timestamp 只占 4 個(gè)字節(jié),而且是以u(píng)tc的格式儲(chǔ)存, 它會(huì)自動(dòng)檢索當(dāng)前時(shí)區(qū)并進(jìn)行轉(zhuǎn)換。

datetime以 8 個(gè)字節(jié)儲(chǔ)存,不會(huì)進(jìn)行時(shí)區(qū)的檢索.

也就是說(shuō),對(duì)于timestamp來(lái)說(shuō),如果儲(chǔ)存時(shí)的時(shí)區(qū)和檢索時(shí)的時(shí)區(qū)不一樣,那么拿出來(lái)的數(shù)據(jù)也不一樣。對(duì)于datetime來(lái)說(shuō),存什么拿到的就是什么。

還有一個(gè)區(qū)別就是如果存進(jìn)去的是NULL,timestamp會(huì)自動(dòng)儲(chǔ)存當(dāng)前時(shí)間,而 datetime會(huì)儲(chǔ)存 NULL。

2 測(cè)試

我們新建一個(gè)表

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

查看數(shù)據(jù),可以看到存進(jìn)去的是NULL,timestamp會(huì)自動(dòng)儲(chǔ)存當(dāng)前時(shí)間,而 datetime會(huì)儲(chǔ)存NULL

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

如果插入的是無(wú)效的呢?假如插入的是時(shí)間戳

結(jié)果是0000-00-00 00:00:00,根據(jù)官方的解釋是插入的是無(wú)效的話會(huì)轉(zhuǎn)為 0000-00-00 00:00:00,而時(shí)間戳并不是MySQL有效的時(shí)間格式。

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

//下面都是 MySQL 允許的形式,MySQL 會(huì)自動(dòng)處理
2016-10-01 20:48:59
2016#10#01 20/48/59
20161001204859

3 選擇

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

如果是想要使用自動(dòng)插入時(shí)間或者自動(dòng)更新時(shí)間功能的,可以使用timestamp。

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

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

相關(guān)文章

  • MySQL的線程池原理學(xué)習(xí)教程

    MySQL的線程池原理學(xué)習(xí)教程

    這篇文章主要介紹了MySQL的線程池原理學(xué)習(xí)教程,包括線程池的函數(shù)調(diào)用與關(guān)鍵接口等重要知識(shí),非常推薦!需要的朋友可以參考下
    2015-11-11
  • mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度

    mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度

    這篇文章主要介紹了mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度,需要的朋友可以參考下
    2014-12-12
  • Linux之MySQL主從復(fù)制方式

    Linux之MySQL主從復(fù)制方式

    本文介紹了MySQL的主從復(fù)制原理和配置步驟,包括主從庫(kù)的配置、同步操作和異常處理,主從復(fù)制通過(guò)二進(jìn)制日志實(shí)現(xiàn)數(shù)據(jù)同步,適用于讀寫(xiě)分離和備份等場(chǎng)景,配置過(guò)程中需要注意server_id的唯一性,確保主從同步的順利進(jìn)行
    2024-11-11
  • 修改Mysql索引長(zhǎng)度限制解決767?byte限制問(wèn)題

    修改Mysql索引長(zhǎng)度限制解決767?byte限制問(wèn)題

    這篇文章主要介紹了修改Mysql索引長(zhǎng)度限制解決767?byte限制問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解MySQL索引原理以及優(yōu)化

    詳解MySQL索引原理以及優(yōu)化

    在本篇文章中小編給大家整理了關(guān)于MySQL索引原理以及優(yōu)化的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-06-06
  • Mysql 5.7.18 解壓版下載安裝及啟動(dòng)mysql服務(wù)的圖文詳解

    Mysql 5.7.18 解壓版下載安裝及啟動(dòng)mysql服務(wù)的圖文詳解

    這篇文章主要介紹了Mysql 5.7.18 解壓版下載安裝及啟動(dòng)mysql服務(wù)的圖文詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-05-05
  • SQL?CREATE?INDEX提高數(shù)據(jù)庫(kù)檢索效率的關(guān)鍵步驟詳解

    SQL?CREATE?INDEX提高數(shù)據(jù)庫(kù)檢索效率的關(guān)鍵步驟詳解

    這篇文章主要為大家介紹了SQL?CREATE?INDEX提高數(shù)據(jù)庫(kù)檢索效率的關(guān)鍵步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • MySQL中如何計(jì)算同比和環(huán)比

    MySQL中如何計(jì)算同比和環(huán)比

    在工作的過(guò)程中,經(jīng)常會(huì)使用到環(huán)比、同比,下面這篇文章主要給大家介紹了關(guān)于MySQL中如何計(jì)算同比和環(huán)比的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • MySQL5.6安裝圖解(windows7/8_64位)

    MySQL5.6安裝圖解(windows7/8_64位)

    這篇文章主要內(nèi)容是關(guān)于MySQL5.6安裝圖解,希望通過(guò)這篇文章順利解決大家安裝MySQL5.6的問(wèn)題,再也不用為了安裝煩惱
    2015-09-09
  • 不卸載原有mysql直接安裝mysql8.0

    不卸載原有mysql直接安裝mysql8.0

    本文主要介紹了不卸載原有mysql直接安裝mysql8.0,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論