MySQL系列03 資料型別

2021-09-14 04:46:38 字數 1660 閱讀 5288

資料型別是指列、儲存過程引數、表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。

有符號位可以表示負數;無符號位只能表示0和正數

在正數表達的範圍內,無符號位是有符號位的兩倍範圍

上述int及以下類別,每個類別都是2的冪次行增加8位,分別為28、216、224、232;位元組遞加為1、2、3、4;

bigint則是int的2倍,範圍為264、位元組為8 。

資料優化最基礎的則是要選擇最合理的資料型別,在海量資料的情況下,則能顯現很大的優勢

float單精度浮點,能精確到7位小數點

double雙精度浮點,將近是float的十倍

m必須大於d

例如:float[(7,2)]m為總位數,d為小數點位數: 則這個最多能代表99999.99

儲存範圍越大,占用的位元組也越大

year:2023年 至 2023年 的年份型別,預設是4位,但也可以儲存2位,

time:-8385959 至 8385959 的時間型別

date合理範圍為:2023年1月1日 至 2023年12月31日

datetime合理範圍為:1000/01/01 00:00:00 至 9999/12/31 23:59:59;很少採用此種型別,因為會有跨時區的問題。若需要用到日期時間型別,一般也會使用數字型別來取代它。在很多實際運用中,會把時間變成「時間戳 1

」的形式使用。

timestamp則是表示 1970/01/01 00:00:00 至 2037/12/31 23:59:59

在實際應用中,很少使用到日期時間型,大多使用數字型,然後使用時間戳的方式。

char(m) 定長型別,沒有達到指定的長度,後面用空格來補齊。

varchar(m) 變長型別,字元是什麼就儲存什麼,沒有達到指定長度,也不會補齊。

enum 列舉值,是指給它幾個選項,讓它在其中做選擇。比如性別:男、女、保密。

set 集合,是指給它幾個值,它可以做這些值中任意的組合,比如它可以選男、女、男女、男保密等等。

時間戳:是指格林威治時間2023年01月01日00時00分00秒(北京時間2023年01月01日08時00分00秒)起至現在的總毫秒數。通俗的講, 時間戳是乙份能夠表示乙份資料在乙個特定時間點已經存在的完整的可驗證的資料。 ↩︎

MySQL 教程 03 資料型別

取值範圍如果加了 unsigned,則最大值翻倍,如 tinyint unsigned 的取值範圍為 0 256 設乙個字段定義為 float 5,3 如果插入乙個數 123.45678,實際資料庫裡存的是123.457,但總個數還是以實際為準,即 6 位。浮點型在資料庫中存放的是近似值,而定點型別...

03 資料型別

值型別 基本資料型別是go語言實際的原子,復合資料型別是由不同的方式組合基本型別構造出來的資料型別,如 陣列,slice,map,結構體 整型 int8 uint 基礎型別之數字型別 浮點型 float32,float64 基礎型別之數字型別 複數 基礎型別之數字型別 布林型 bool 基礎型別,只...

03 資料型別

資料型別包括 基本資料型別和引用資料型別。基本資料型別指的是簡單的資料段,引用資料型別指的是有多個值構成的物件。當我們把變數賦值給乙個變數時,解析器首先要確認的就是這個值是基本型別值還是引用型別值。1 基本資料型別 number var a 123 typeof 檢查當前變數是什麼資料型別 cons...