MySQL資料型別之數字型別詳細解析

2021-06-10 01:56:07 字數 1187 閱讀 9968

我們今天是要與大家一起討論的是mysql資料型別的詳細分析對mysql資料型別的詳細分析,我前兩天在相關**看見mysql資料型別之數字型別的資料,覺得挺好,就拿出來供大家分享。

無論是在小得可憐的免費資料庫空間或是大型電子商務**,合理的設計表結構、充分利用空間是十分必要的。這就要求我們對資料庫系統的常用mysql資料型別有充分的認識。下面我就將我的一點心得寫出來跟大家分享。

mysql資料型別之數字型別

數字型別按照我的分類方法分為三類:整數類、小數類和數字類。

我所謂的「數字類」,就是指decimal和numeric,它們是同一種型別。它嚴格的說不是一種數字型別,因為他們實際上是將數字以字串形式儲存的;他的值的每一位(包括小數點)佔乙個位元組的儲存空間,因此這種型別耗費空間比較大。但是它的乙個突出的優點是小數的位數固定,在運算中不會「失真」,所以比較適合用於「**」、「金額」這樣對精度要求不高但準確度要求非常高的字段。

小數類,即浮點數型別,根據精度的不同,有float和double兩種。它們的優勢是精確度,float可以表示絕對值非常小、小到約1.17e-38(0.000...0117,小數點後面有37個零)的小數,而double更是可以表示絕對值小到約2.22e-308(0.000...0222,小數點後面有307個零)的小數。

float型別和double型別占用儲存空間分別是4位元組和8位元組。如果需要用到小數的字段,精度要求不高的,當然用float了。可是說句實在話,我們「民用」的資料,哪有要求精度那麼高的呢?這兩種型別至今我沒有用過――我還沒有遇到適合於使用它們的事例。

用的最多的,最值得精打細算的,是整數型別。從只佔乙個位元組儲存空間的tinyint到佔8個位元組的bigint,挑選乙個「夠用」並且占用儲存空間最小的型別是設計資料庫時應該考慮的。tinyint、smallint、mediumint、int和bigint占用儲存空間分別為1位元組、2位元組、3位元組、4位元組和8位元組,就無符號的整數而言,這些型別能表示的最大整數分別為255、65535、16777215、4294967295和18446744073709551615。

如果用來儲存使用者的年齡(舉例來說,資料庫中儲存年齡是不可取的),用tinyint就夠了;九城的《縱橫》裡,各項技能值,用smallint也夠了;如果要用作乙個肯定不會超過16000000行的表的auto_increment的identify欄位,當然用mediumint不用int,試想,每行節約乙個位元組,16000000行可以節約10兆多呢!

SQL 資料型別 之 數字型別

數字型別 numeric 包含兩個子類 精確數字與近似數字。精確數字型別對應有限範圍內的數值。精度範圍與儲存要求 資料型別 範圍儲存 bigint 2 63 9223372036854775808 到2 63 1 9223372036854775807 到2 63 int 2 31 21474836...

Python資料型別之數字型別

整數 在python中,整數可以執行 加 減 乘 除 運算。1 2 3 3 2 1 2 3 6 3 2 1.5 在控制台,python直接返回運算結果。python中也可以執行乘方運算 用兩個星號表示。2 3 8 浮點數在python中,帶小數點的數字被稱為浮點數。0.1 0.1 0.2 2 0.1...

MySQL之資料型別

資料型別是指列 儲存過程引數 表示式和區域性變數的資料特徵,它決定了資料的儲存方式,代表了不同的資訊型別。mysql當中資料型別大概有以下幾類 1.整型 都是無符號數情況下的範圍 tinyint 0 2 8 1 smallint 0 2 16 1 mediumint 0 2 24 1 int 0 2...