資料庫的時間類型mysql,資料庫中表示日期和時間的數據類型

本文目錄一覽:

mysql 時間欄位用什麼類弄,長度是多少

mysql時間欄位用:Date、Datetime和Timestamp。

(1)「Date」數據類型:用於存儲沒有時間的日期。 Mysql獲取並顯示此類型的格式為「 YYYY-MM-DD」,支持的時間長度範圍是「 1000-00-00」至「 9999-12-31」。

(2)「Datetime」類型:存儲日期和時間的數據。 存儲和顯示格式為「 YYYY-MM-DD HH:MM:SS」, 支持的時間長度範圍是「 1000-00-00 00:00:00」到「 9999-12-31 23:59:59」。

(3)「Timestamp」類型:存儲日期和時間的數據。 存儲和顯示格式與日期時間相同。 支持的時間長度範圍是「 1970-01-01 00:00:01」至「 2038-01-19 03:14:07」。

所有不符合上述格式的數據都將轉換為0值的相應類型。

擴展資料:

MySQL主要分為三種類型:字元串,日期和數字(每種類型實際上都有一個二進位類型,但並不常用)。

*字元串分為定長char和不定長度varchar,char以聲明的長度為準,而varchar的長度與值的長度和字符集有關。

*數字和日期均為固定長度的欄位。 不同的類型具有不同的長度。 例如,Datetime是5.6.4之後的5個位元組,之前的是8個位元組; timestamp是4個位元組,因為其存儲整數,小數部分的長度通常與位數有關。

mysql中常見的數據類型

一:MySQL數據類型

MySQL中定義數據欄位的類型對你資料庫的優化是非常重要的

MySQL支持多種數據類型,大致可以分為三類:數值 日期/時間和字元串

二、數值類型

 1.整數類型

2.浮點數

如果希望保證值比較準確,推薦使用定點數數據類型。MySql中的浮點類型有float,double和real。他們定義方式為:FLOAT(M,D) 、 REAL(M,D) 、 DOUBLE PRECISION(M,D)。

FLOAT和DOUBLE中的M和D的取值默認都為0,即除了最大最小值,不限制位數。允許的值理論上是-1.7976931348623157E+308~-2.2250738585072014E-308、0和2.2250738585072014E-308~1.7976931348623157E+308。M、D範圍如下:

(MySql5.7實測,與IEEE標準計算的實際是不同的,下面介紹):M取值範圍為0~255。FLOAT只保證6位有效數字的準確性,所以FLOAT(M,D)中,M=6時,數字通常是準確的。如果M和D都有明確定義,其超出範圍後的處理同decimal。

D取值範圍為0~30,同時必須=M。double只保證16位有效數字的準確性,所以DOUBLE(M,D)中,M=16時,數字通常是準確的。如果M和D都有明確定義,其超出範圍後的處理同decimal。

CHAR值時,在它們的右邊填充空格以達到指定的長度。當檢索到CHAR值時,尾部的空格被刪除掉,所以,我們在存儲時字元串右邊不能有空格,即使有,查詢出來後也會被刪除。在存儲或檢索過程中不進行大小寫轉換。

三、時間日期類型(5)

該「0」值如下:

請點擊輸入圖片描述

四、各種類型佔用的存儲

1.數值類型

 

請點擊輸入圖片描述

定點數的比較特殊,而且與具體版本也有關係,此處單獨解釋:

使用二進位格式將9個十進位(基於10)數壓縮為4個位元組來表示DECIMAL列值。每個值的整數和分數部分的存儲分別確定。每個9位數的倍數需要4個位元組,並且「剩餘的」位需要4個位元組的一部分。下表給出了超出位數的存儲需求:

請點擊輸入圖片描述

2.時間日期

請點擊輸入圖片描述

從版本5.6.4開始,存儲需求就有所改變,根據精度而定。不確定部分需要的存儲如下:

請點擊輸入圖片描述

比如,TIME(0), TIME(2), TIME(4), 和TIME(6) 分別使用3, 4, 5, 6 bytes。 

3.字元串

請點擊輸入圖片描述

4.類型的選擇

為了優化存儲,在任何情況下均應使用最精確的類型。

例如,如果列的值的範圍為從1到99999,若使用整數,則MEDIUMINT UNSIGNED是好的類型。在所有可以表示該列值的類型中,該類型使用的存儲最少。

用精度為65位十進位數(基於10)對DECIMAL 列進行所有基本計算(+、-、*、/)。

使用雙精度操作對DECIMAL值進行計算。如果準確度不是太重要或如果速度為最高優先順序,DOUBLE類型即足夠了。為了達到高精度,可以轉換到保存在BIGINT中的定點類型。這樣可以用64位整數進行所有計算,根據需要將結果轉換回浮點值。

5.使用其他資料庫的SQL語句

為了使用為其它資料庫編寫的SQL執行代碼,MySQL按照下表所示對列類型進行映射。通過這些映射,可以很容易地從其它資料庫引擎將表定義導入到MySQL中:

請點擊輸入圖片描述

mysql資料庫里的日期用timestamp還是datetime好?

Mysql中經常用來存儲日期的數據類型有2種:Date、Datetime.

1.Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間範圍為「1000-00-00」到「9999-12-31」。

2.Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間範圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」。

TIMESTAMP列用於INSERT或UPDATE操作時記錄日期和時間。如果你不分配一個值,表中的第一個TIMESTAMP列自動設置為最近操作的日期和時間。也可以通過分配一個NULL值,將TIMESTAMP列設置為當前的日期和時間。

TIMESTAMP值返回後顯示為’YYYY-MM-DDHH:MM:SS’格式的字元串,顯示寬度固定為19個字元。如果想要獲得數字值,應在TIMESTAMP列添加+0。

注釋:MySQL4.1以前使用的TIMESTAMP格式在MySQL5.1中不支持;關於舊格式的信息參見MySQL4.1參考手冊。

資料庫中 日期的幾種表示方法

Mysql中經常用來存儲日期的數據類型有三種:Date、Datetime、Timestamp。

【1】Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間範圍為「1000-00-00」到「9999-12-31」。

【2】Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間範圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」。

【3】Timestamp類型:也是存儲既有日期又有時間的數據。存儲和顯示的格式跟Datetime一樣。支持的時間範圍是「1970-01-01 00:00:01」到「2038-01-19 03:14:07」。

擴展資料

切記不要用字元串存儲日期

這種存儲日期的方式的優點還是有的,就是簡單直白,容易上手。但是,這是不正確的做法,主要會有下面兩個問題:

1、字元串佔用的空間更大。

2、字元串存儲的日期比較效率比較低(逐個字元進行比對),無法用日期相關的 API 進行計算和比較。

DateTime 類型沒有時區信息的

DateTime 類型是沒有時區信息的(時區無關) ,DateTime 類型保存的時間都是當前會話所設置的時區對應的時間。

當你的時區更換之後,比如你的伺服器更換地址或者更換客戶端連接時區設置的話,就會導致你從資料庫中讀出的時間錯誤。不要小看這個問題,很多系統就是因為這個問題鬧出了很多笑話。

Timestamp 和時區有關。Timestamp 類型欄位的值會隨著伺服器時區的變化而變化,自動換算成相應的時間,說簡單點就是在不同時區,查詢到同一個條記錄此欄位的值會不一樣。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198253.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:23
下一篇 2024-12-04 10:23

相關推薦

  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python 轉換數據類型

    本文將詳細探討Python中轉換數據類型的方法和技巧,幫助大家更好地處理不同類型的數據。 一、數據類型概述 在Python中,常用的數據類型包括字元串、整數、浮點數、列表、元組、字…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有著非常豐富的數據類型。Python的數據類型可以分為數字類型、字元串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29
  • 想把你和時間藏起來

    如果你覺得時間過得太快,每天都過得太匆忙,那麼你是否曾經想過想把時間藏起來,慢慢享受每一個瞬間?在這篇文章中,我們將會從多個方面,詳細地闡述如何想把你和時間藏起來。 一、一些時間管…

    編程 2025-04-28
  • 計算斐波那契數列的時間複雜度解析

    斐波那契數列是一個數列,其中每個數都是前兩個數的和,第一個數和第二個數都是1。斐波那契數列的前幾項為:1,1,2,3,5,8,13,21,34,…。計算斐波那契數列常用…

    編程 2025-04-28
  • 時間戳秒級可以用int嗎

    時間戳是指從某個固定的時間點開始計算的已經過去的時間。在計算機領域,時間戳通常使用秒級或毫秒級來表示。在實際使用中,我們經常會遇到需要將時間戳轉換為整數類型的情況。那麼,時間戳秒級…

    編程 2025-04-28
  • 如何在ACM競賽中優化開發時間

    ACM競賽旨在提高程序員的演算法能力和解決問題的實力,然而在比賽中優化開發時間同樣至關重要。 一、規劃賽前準備 1、提前熟悉比賽規則和題目類型,了解常見演算法、數據結構和快速編寫代碼的…

    編程 2025-04-28
  • 使用JavaScript日期函數掌握時間

    在本文中,我們將深入探討JavaScript日期函數,並且從多個視角介紹其應用方法和重要性。 一、日期的基本表示與獲取 在JavaScript中,使用Date對象來表示日期和時間,…

    編程 2025-04-28
  • Java Date時間大小比較

    本文將從多個角度詳細闡述Java中Date時間大小的比較,包含了時間字元串轉換、日期相減、使用Calendar比較、使用compareTo方法比較等多個方面。相信這篇文章能夠對你解…

    編程 2025-04-27

發表回復

登錄後才能評論