最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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ù),可以看到存進去的是NULLtimestamp會自動儲存當前時間,而 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

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

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

相關文章

  • MySQL與Redis如何保證雙寫一致性詳解

    MySQL與Redis如何保證雙寫一致性詳解

    雙寫一致性是指在系統(tǒng)中同時使用緩存(如Redis)和數(shù)據(jù)庫(如MySQL)時,如何確保兩者的數(shù)據(jù)保持一致,這篇文章主要介紹了MySQL與Redis如何保證雙寫一致性的相關資料,需要的朋友可以參考下
    2025-10-10
  • MySQL創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表的操作過程

    MySQL創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表的操作過程

    MySQL?是最常用的數(shù)據(jù)庫,在數(shù)據(jù)庫操作中,基本都是增刪改查操作,簡稱CRUD,這篇文章主要介紹了MySQL創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表的操作過程,需要的朋友可以參考下
    2022-11-11
  • mysql的語句查詢順序、耗時分析以及查詢調(diào)優(yōu)技巧分享

    mysql的語句查詢順序、耗時分析以及查詢調(diào)優(yōu)技巧分享

    文章詳細介紹了MySQL中SQL查詢語句的執(zhí)行順序、耗時分析及查詢調(diào)優(yōu)方法,包括使用EXPLAIN、SHOW PROFILE和慢查詢?nèi)罩镜裙ぞ哌M行耗時分析,以及使用索引、避免全表掃描、優(yōu)化查詢語句、分區(qū)表和調(diào)整服務器配置等技巧進行性能優(yōu)化
    2025-02-02
  • explain執(zhí)行計劃需要關注的幾個關鍵字段詳細解釋

    explain執(zhí)行計劃需要關注的幾個關鍵字段詳細解釋

    這篇文章主要介紹了explain執(zhí)行計劃需要關注的幾個關鍵字段的相關資料,EXPLAIN是MySQL性能優(yōu)化的關鍵工具,它提供了查詢執(zhí)行計劃的詳細信息,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • mysql使用source 命令亂碼問題解決方法

    mysql使用source 命令亂碼問題解決方法

    從windows上導出一個sql執(zhí)行文件,再倒入到unbutn中,結果出現(xiàn)亂碼,折騰7-8分鐘,解決方式在導出mysql sql執(zhí)行文件的時候,指定一下編碼格式
    2013-04-04
  • 深入MYSQL字符數(shù)字轉換的詳解

    深入MYSQL字符數(shù)字轉換的詳解

    本篇文章是對MYSQL中的字符數(shù)字轉換進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • SQL字段拼接成新字段幾種常見的方法

    SQL字段拼接成新字段幾種常見的方法

    這篇文章主要給大家介紹了關于SQL字段拼接成新字段幾種常見的方法,如我們在選擇商品的時候不止需要知道商品的名字,還需要商品代碼型號等,這個時候需要把這些字段拼接為一個字段進行操作或者輸出,需要的朋友可以參考下
    2023-08-08
  • Express項目中操作MySQL的步驟

    Express項目中操作MySQL的步驟

    本文詳細介紹了如何在Express項目中操作MySQL數(shù)據(jù)庫,包括安裝配置、連接數(shù)據(jù)庫、執(zhí)行SQL語句以及處理查詢結果等關鍵步驟,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • MySQL 用 limit 為什么會影響性能

    MySQL 用 limit 為什么會影響性能

    對于小的偏移量,直接使用limit來查詢沒有什么問題,但隨著數(shù)據(jù)量的增大,越往后分頁,limit語句的偏移量就會越大,速度也會明顯變慢,接下來文章就向大家介紹其的原由,感興趣的小伙伴可參考下面文章具體內(nèi)容
    2021-09-09
  • mysql中如何使用正則表達式查詢

    mysql中如何使用正則表達式查詢

    這篇文章主要介紹了mysql中如何使用正則表達式查詢,需要的朋友可以參考下
    2014-06-06

最新評論

石林| 甘德县| 东城区| 茌平县| 江都市| 翼城县| 香格里拉县| 曲沃县| 获嘉县| 工布江达县| 泌阳县| 台东市| 吉林省| 若羌县| 嘉祥县| 英德市| 新津县| 冕宁县| 邹城市| 宜丰县| 恩平市| 公安县| 玉林市| 丰城市| 靖江市| 天津市| 遵义县| 泸水县| 长垣县| 英超| 色达县| 江安县| 雷山县| 莱西市| 瑞金市| 呼玛县| 新绛县| 犍为县| 瑞昌市| 会理县| 黄大仙区|