1. 程式人生 > >MYSQL中支援的資料型別及取值範圍

MYSQL中支援的資料型別及取值範圍

DATE、TIME 和 TEAR 型別
  MySQL用 DATE 和 TEAR 型別儲存簡單的日期值,使用 TIME 型別儲存時間值。這些型別可以描述為字串或不帶分隔符的整數序列。如果描述為字串,DATE 型別的值應該使用連字號作為分隔符分開,而 TIME 型別的值應該使用冒號作為分隔符分開。
  需要注意的是,沒有冒號分隔符的 TIME 型別值,將會被MySQL 理解為持續的時間,而不是時間戳。
  MySQL 還對日期的年份中的兩個數字的值,或是 SQL 語句中為 TEAR 型別輸入的兩個數字進行最大限度的通譯。因為所有 TEAR 型別的值必須用 4 個數字儲存。MySQL 試圖將 2個數字的年份轉換為 4 個數字的值。把在 00-69 範圍內的值轉換到 2000-2069 範圍內。把 70-99 範圍內的值轉換到 1970-1979 之內。如果 MySQL 自動轉換後的值並不符合我們的需要,請輸入 4 個數字表示的年份。
DATEYIME 和 TIMESTAMP 型別
   除了日期和時間資料型別,MySQL 還支援DATEYIME 和 TIMESTAMP 這兩種混合型別。它們可以把日期和時間作為單個的值進行儲存。這兩種型別通常用於自動儲存包含當前日期和時間的時間戳,並可在需要執行大量資料庫事務和需要建立一個除錯和審查用途的審計跟蹤的應用程式中發揮良好作用。
  如果我們對 TIMESTAMP 型別的欄位沒有明確賦值,或是被賦與了 null 值。MySQL 會自動使用系統當前的日期和時間來填充它。
複合型別
  MySQL 還支援兩種複合資料型別 ENUM 和 SET,它們擴充套件了 SQL 規範。雖然這些型別在技術上是字串型別,但是可以被視為不同的資料型別。一個 ENUM 型別只允許從一個集合中取得一個值;而 SET 型別允許從一個集合中取得任意多個值。
ENUM 型別
  ENUM 型別因為只允許在集合中取得一個值,有點類似於單選項。在處理相互排拆的資料時容易讓人理解,比如人類的性別。ENUM 型別欄位可以從集合中取得一個值或使用 null 值,除此之外的輸入將會使 MySQL 在這個欄位中插入一個空字串。另外如果插入值的大小寫與集合中值的大小寫不匹配,MySQL 會自動使用插入值的大小寫轉換成與集合中大小寫一致的值。
   ENUM 型別在系統內部可以儲存為數字,並且從1 開始用數字做索引。一個 ENUM 型別最多可以包含65536 個元素,其中一個元素被 MySQL 保留,用來儲存錯誤資訊,這個錯誤值用索引 0 或者一個空字串表示。
  MySQL 認為 ENUM 型別集合中出現的值是合法輸入,除此之外其它任何輸入都將失敗。這說明通過搜尋包含空字串或對應數字索引為 0 的行就可以很容易地找到錯誤記錄的位置。
SET 型別
  SET 型別與 ENUM 型別相似但不相同。SET 型別可以從預定義的集合中取得任意數量的值。並且與 ENUM 型別相同的是任何試圖在 SET 型別欄位中插入非預定義的值都會使 MySQL 插入一個空字串。如果插入一個即有合法的元素又有非法的元素的記錄,MySQL 將會保留合法的元素,除去非法的元素。
  一個 SET 型別最多可以包含 64 項元素。在 SET 元素中值被儲存為一個分離的“位”序列,這些“位”表示與它相對應的元素。“位”是建立有序元素集合的一種簡單而有效的方式。並且它還去除了重複的元素,所以 SET 型別中不可能包含兩個相同的元素。

相關推薦

MYSQL支援資料型別範圍

DATE、TIME 和 TEAR 型別  MySQL用 DATE 和 TEAR 型別儲存簡單的日期值,使用 TIME 型別儲存時間值。這些型別可以描述為字串或不帶分隔符的整數序列。如果描述為字串,DATE 型別的值應該使用連字號作為分隔符分開,而 TIME 型別的值應該使用冒號作為分隔符分開。   需要注意的

資料庫常用資料型別範圍介紹(以mysql、SQL Server為準)

        在資料庫設計時,會對欄位資料型別和欄位長度進行考慮。最終選定的欄位資料型別和欄位長度又會對資料庫的效能和佔用空間大小造成一定影響。欄位的資料型別定了,則欄位在資料庫中佔用的儲存空間大小也已經定了,其與指定的資料型別長度無關。以資料庫開發中最常用的欄位型別in

8種基本資料型別範圍

整型: byte:-2^7 ~ 2^7-1,即-128 ~ 127。1位元組。Byte。末尾加B short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2位元組。Short。末尾加S 有符號int:-2^31 ~ 2^31-1,即-214748364

C語言各個資料型別範圍

因為CPU的差異,各系統中的資料型別所佔的位元組數(bytes)不同,二進位制位數(bit)也不同。那麼怎樣才能知道自己系統的資料型別的位元組數,位數呢? 授之以魚不如授之以漁,大家可以自己從電腦裡獲取這些資訊。 首先我們知道1個位元組等於8個位,可以用sizeof()關鍵字設計以下程式解決: /*獲取

C基本資料型別範圍

int: -2147483648~+2147483647 無符號整型unsigned[int] :0~4294967295。 短整型 short [int]:-32768~32767。 無符號短整型unsigned short[int]:0~65535。 長整型 Long int: -214

4. C語言 -- 資料型別範圍

本部落格主要內容為 “小甲魚” 視訊課程《帶你學C帶你飛》【第一季】 學習筆記,文章的主題內容均來自該課程,在這裡僅作學習交流。在文章中可能出現一些錯誤或者不準確的地方,如發現請積極指出,十分感謝。 也歡迎大家一起討論交流,如果你覺得這篇文章對你有所幫助,記得

int型資料型別為什麼範圍是-2^31~2^31-1

正數在計算機中表示為原碼,最高位為符號位: 1的原碼為0000 0000 0000 0000 0000 0000 0000 0001 2147483647的原碼為0111 1111 1111 1111 1111 1111 1111 1111 所以最大的正整數是21474

java資料型別範圍,引用型別解析

    與javascript不同,Java是強型別語言,在定義變數前需要宣告資料型別。主要分兩種資料型別:基本資料型別和引用資料型別。   1、基本資料型別分析:   基本資料型別

各種資料型別範圍(自查)

       在寫程式的過程中我們有時候會處理一些極大地資料,這時候就會出現一些困惑各種資料型別的大小,宣告的時候讓自己很謹慎, 於是碰到較大的數值就直接long型別的的變數就聲明瞭,在C函式庫Limits中包含著對於所用編譯器中各個資料型別的取值範圍。下面是程式程式碼。/

C語言各種資料型別範圍

速查表: char -128 ~ +127 (1 Byte) short -32767 ~ + 32768 (2 Bytes)-2的15次方-1 ~ 2的15次方 unsigned short 0 ~ 65536 (2 Bytes)0 ~ 2的16次方 int (l

C++基本資料型別位元組數範圍【轉】

【轉自】:http://blog.csdn.net/a775992553/article/details/8790241 機器字長:是指計算機進行一次整數運算所能處理的二進位制資料的位數(整數運算即定點整數運算)。機器字長也就是運算器進行定點數運算的字長,通常也是CPU內部資料通路的寬度。現在一

java資料型別轉換形式

   java中的資料型別分為兩種:基本資料型別和引用資料型別;    基本資料型別中包含的就是我們常說的“四類八種”,即 整數型:byte、short、int、long,浮點型:float、double,布林型:boolean,字元型:char 4類8種

MySQL主鍵 資料型別索引的優化

一、安裝 這是同事分享給我的。安裝資料庫也是一門學問,千萬不要被安裝的簡單性而忽略一些細節。針對於 Win os 伺服器而言,MySQL 的安裝版可以選則三種不同的伺服器型別: Developer Machine(開發機器) 為 MySQL 分配最少分系統資源

java int 型別範圍

int 是整型,對應我們數學上認識的數值為整數,就是沒有小數點的數。 在計算機系統中,我們為這種型別的數定了一個範圍(其實我們為每一種型別都定了範圍,至於這個範圍是多少.....(當然不能那麼快說)。 為什麼要有這個範圍的限制呢,這是為了物盡所用,不能浪費。打個比方,我

04-MySQL資料型別

1 整體說明MYsql的資料型別#1. 數字:    整型:tinyint  int  bigint    小數:        float :在位數比較短的情

R-資料型別特殊判斷

R中獲取資料型別資訊的一些有用函式R語言的物件“類”很多,雖然我們不可能一一去詳細學習,但接觸到一類新資料時我們需要了解一些基本資訊才能進行進一步的操作。R提供了一些非常有用的方法(函式)。getClass( )函式我們前面已經見過了,它的引數是表示類的字串。class(

Python入門筆記(2)_ 資料型別整運算 round,floor,ceil

資料型別 1.  資料型別包括整數、浮點、字串,這些大家都很清楚,關於定義這裡不多說。 不過,關於整數浮點計算要多說兩句。先看如下計算 11 / 4 # ==> 2 11.0 / 4

MySQL 資料型別和幾個問題

在 MySQL 中,可以通過儲存引擎來決定表的型別,即儲存引擎決定了表的儲存方式;同時 MySQL 中也提供了幾種資料型別,而資料型別決定了表儲存資料的型別。在這篇文章裡,先來簡單的介紹 MySQL 中的資料型別。 MySQL 支援多種資料型別,大致可以分為三

MySQL資料型別

MySQL支援多種資料型別,主要有數值型別、日期/時間型別和字串型別。 一、數值型別 數值型別包括: 整數型別:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮點數型別有FLOAT和DOUBLE,定點小數型別DECIMA

MySQL資料型別之日期/時間型別

MySQL中的資料型別主要有:數字型別、日期/時間型別、字串型別。 日期/時間型別 MySQL中的日期和時間型別有date、time、datetime、timestamp和year。每一種時間型別都有一定範圍的有效值,也有零值,當你指定一個無效的MySQL表示不