深入了解mysql的4種常用、重要的數(shù)據(jù)類型
為了實現(xiàn)這一目標,它需要我們在數(shù)據(jù)庫系統(tǒng)的常用數(shù)據(jù)類型有充分的認識。
下面我們來看一下mysql的重要數(shù)據(jù)類型
1、數(shù)值類型可以劃分為數(shù)值類型:整型,浮點十進制類型。
所謂的“十進制”是指decimal和numeric,他們是同一類型的。嚴格地說,它不是一個數(shù)字類型,因為他們實際上是作為字符串存儲,每一個數(shù)字值(包括小數(shù)點)占一個字節(jié)的存儲空間,所以這種類型的消耗大量的存儲空間,但它的優(yōu)點是它的價值不會失去做浮點數(shù)計算精度,它更適合一些計算精度要求高,如價格計算。浮動取決于不同精度的類型可以是float或double。它們的優(yōu)點是小數(shù)的精度,F(xiàn)LOAT可以表示非常小的值,可以是最小的值約1.17E-38(0.000 … 0117,小數(shù)點后的37零),雙重可以表達更小的數(shù),最小的數(shù)可以約2.22E-308(0.000 … 0222,小數(shù)點以及后跟307個零)的小數(shù)。float和double分別為4字節(jié)和8字節(jié)的存儲空間。
對于整型,在MySQL中有很多不同類型的整數(shù),在設計數(shù)據(jù)庫表,我們可以有一個字節(jié)TINYINT或8字節(jié)BIGINT等,所以我們應該把過多考慮哪個類型來使用,以獲得最小的存儲空間,而不會失去任何準確性值。
TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT 1字節(jié),2字節(jié),3字節(jié),4字節(jié)和8字節(jié)。對于無符號整數(shù),這些類型能表示的最大整數(shù)是分別255,65535,16777215,4294967295 18446744073709551615。如果我們需要保存用戶的年齡,TINYINT就夠了;如果是自增的ID,我們應該使用MEDIUMINT而不是INT,INT還 是太大了。很多數(shù)據(jù)表并不會達到MEDIUMINT的范圍
2、日期時間輸入的日期和時間類型比較簡單
如DATE,TIME,DATETIME,TIMESTAMP和YEAR。如果我們只需要關心的日期,但沒有分秒我們應該使用Date,而不是DATETIME,但DATETIME是其中最常用的,一切按實際需要設計
3、字符類型不要以為字符類型僅僅是CHAR
CHAR和VARCHAR的區(qū)別是,CHAR是固定長度。如果你定義一個字段CHAR(10),那么無論多少字節(jié)的數(shù)據(jù),這將需要10個字節(jié)的空間;對于18位的身份證號碼,則應該使用Char(18),
VARCHAR是可變長度的,如果我們有一個字段的值有不同的長度,那么我們應該使用VARCHAR 。
4、枚舉和集合類型枚舉(ENUM)類型
最多可以定義到65,535種不同的字符串從中做出選擇。
這可能需要取決于有多少個值在枚舉類型中的一個或兩個字節(jié)。集合(SET)類型,最多可以有64個不同的成員,你可以選擇零個或多個成員,集合成員的數(shù)量決定。例如,在SQLServer中,你可以使用BIT類型來表示性別(男/女),但MySQL中,BIT在不同版本數(shù)據(jù)庫中取值有差異,而使用TINTINT有時浪費的,你可以用ENUM('男','女'),這樣可以節(jié)約很大空間
相關文章
解決MySQL報錯1267 - Illegal mix of coll
這篇文章主要給大家介紹了解決MySQL報錯1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPL的問題,文中有詳細的解決方案,需要的朋友可以參考下2023-09-09
Workbench通過遠程訪問mysql數(shù)據(jù)庫的方法詳解
這篇文章主要給大家介紹了Workbench通過遠程訪問mysql數(shù)據(jù)庫的相關資料,文中通過圖文介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-06-06
專業(yè)級的MySQL開發(fā)設計規(guī)范及SQL編寫規(guī)范
這篇文章主要介紹了專業(yè)級的MySQL開發(fā)設計規(guī)范及SQL編寫規(guī)范,需要的朋友可以參考下2020-11-11
mysql報錯:1406 Data too long for colu
這篇文章給大家介紹了多種解決mysql報錯:1406, Data too long for column的解決方法,如果有遇到相同問題的朋友可以參考閱讀本文,對解決問題有一定的幫助,需要的朋友可以參考下2023-09-09
Mysql如何通過binlog日志恢復數(shù)據(jù)詳解
binlog日志用于記錄所有更新了數(shù)據(jù)或者已經(jīng)潛在更新了數(shù)據(jù)的所有語句,下面這篇文章主要給大家介紹了關于Mysql如何通過binlog日志恢復數(shù)據(jù)的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-02-02
與MSSQL對比學習MYSQL的心得(八)--插入 更新 刪除
這一篇《與MSSQL對比學習MYSQL的心得(八)》將會講解MYSQL的插入、更新和刪除語句2014-08-08
MySQL索引查詢limit?offset及排序order?by用法
這篇文章主要介紹了MySQL限制數(shù)據(jù)返回條數(shù)limit?offset及排序order?by用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
ubuntu20.04配置mysql8.0的實現(xiàn)步驟
本文主要介紹了ubuntu20.04配置mysql8.0的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05

