站長資訊網
        最全最豐富的資訊網站

        最全解析:MySQL字段類型

        本篇文章給大家帶來了關于mysql字段類型的相關知識,做了個總結,希望對大家有幫助。

        最全解析:MySQL字段類型

        前言:

        要了解一個數據庫,我們必須了解其支持的數據類型。MySQL 支持大量的字段類型,其中常用的也有很多。前面文章我們也講過 int 及 varchar 類型的用法,但一直沒有全面講過字段類型,本篇文章我們將把字段類型一網打盡,講一講常用字段類型的用法。

        常用的字段類型大致可以分為數值類型字符串類型日期時間類型三大類,下面我們按照分類依次來介紹下。

        1.數值類型

        數值類型大類又可以分為整型浮點型定點型三小類。

        整型主要用于存儲整數值,主要有以下幾個字段類型:

        最全解析:MySQL字段類型

        整型經常被用到,比如 tinyint、int、bigint 。默認是有符號的,若只需存儲無符號值,可增加 unsigned 屬性。

        int(M)中的 M 代表最大顯示寬度,并不是說 int(1) 就不能存儲數值10了,不管設定了顯示寬度是多少個字符,int 都是占用4個字節,即int(5)和int(10)可存儲的范圍一樣。

        存儲字節越小,占用空間越小。所以本著最小化存儲的原則,我們要盡量選擇合適的整型,例如:存儲一些狀態值或人的年齡可以用 tinyint ;主鍵列,無負數,建議使用 int unsigned 或者 bigint unsigned,預估字段數字取值會超過 42 億,使用 bigint 類型。

        浮點型主要有 float,double 兩個,浮點型在數據庫中存放的是近似值,例如float(6,3),如果插入一個數123.45678,實際數據庫里存的是123.457,但總個數還以實際為準,即6位,整數部分最大是3位。 float 和 double 平時用的不太多。

        最全解析:MySQL字段類型

        定點型字段類型有 DECIMAL 一個,主要用于存儲有精度要求的小數。

        最全解析:MySQL字段類型

        DECIMAL 從 MySQL 5.1 引入,列的聲明語法是 DECIMAL(M,D) 。 NUMERIC 與 DECIMAL 同義,如果字段類型定義為 NUMERIC ,則將自動轉成 DECIMAL 。

        對于聲明語法 DECIMAL(M,D) ,自變量的值范圍如下:

        • M是最大位數(精度),范圍是1到65。可不指定,默認值是10。
        • D是小數點右邊的位數(小數位)。范圍是0到30,并且不能大于M,可不指定,默認值是0。

        例如字段 salary DECIMAL(5,2),能夠存儲具有五位數字和兩位小數的任何值,因此可以存儲在salary列中的值的范圍是從-999.99到999.99。

        2.字符串類型

        字符串類型也經常用到,常用的幾個類型如下表:

        最全解析:MySQL字段類型

        其中 char 和 varchar 是最常用到的。char 類型是定長的,MySQL 總是根據定義的字符串長度分配足夠的空間。當保存 char 值時,在它們的右邊填充空格以達到指定的長度,當檢索到 char 值時,尾部的空格被刪除掉。varchar 類型用于存儲可變長字符串,存儲時,如果字符沒有達到定義的位數,也不會在后面補空格。

        char(M) 與 varchar(M) 中的的 M 表示保存的最大字符數,單個字母、數字、中文等都是占用一個字符。char 適合存儲很短的字符串,或者所有值都接近同一個長度。例如,char 非常適合存儲密碼的 MD5 值,因為這是一個定長的值。對于字符串很長或者所要存儲的字符串長短不一的情況,varchar 更加合適。

        我們在定義字段最大長度時應該按需分配,提前做好預估,能使用 varchar 類型就盡量不使用 text 類型。除非有存儲長文本數據需求時,再考慮使用 text 類型。

        BLOB 類型主要用于存儲二進制大對象,例如可以存儲圖片,音視頻等文件。日常很少用到,有存儲二進制字符串時可以考慮使用。

        3.日期時間類型

        MySQL支持的日期和時間類型有 YEARTIMEDATEDATETIMETIMESTAMP,幾種類型比較如下:

        最全解析:MySQL字段類型

        涉及到日期和時間字段類型選擇時,根據存儲需求選擇合適的類型即可。

        關于 DATETIME 與 TIMESTAMP 兩種類型如何選用,可以按照存儲需求來,比如要求存儲范圍更廣,則推薦使用 DATETIME ,如果只是存儲當前時間戳,則可以使用 TIMESTAMP 類型。不過值得注意的是,TIMESTAMP 字段數據會隨著系統時區而改變但 DATETIME 字段數據不會。總體來說 DATETIME 使用范圍更廣。

        總結:

        本篇文章主要介紹了 MySQL 中常用的字段類型,平時用到的字段類型基本都在這里了,以一張思維導圖總結如下:

        最全解析:MySQL字段類型

        推薦學習:mysql視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品久久影院| 精品三级在线观看| 好吊妞视频精品| 亚欧乱色国产精品免费视频 | 成人午夜精品视频在线观看| 无码国模国产在线无码精品国产自在久国产| 99久久国语露脸精品国产| 亚洲欧美日韩国产精品影院| 精品国产亚洲一区二区在线观看 | 国产精品一区二区久久精品| 亚洲AV无码精品色午夜在线观看| 久久国产成人亚洲精品影院 | 国产成人精品免费视频动漫| 亚洲AV无码久久精品狠狠爱浪潮 | 欧美成人精品第一区二区| 国产国产成人久久精品| 亚洲一区精品中文字幕| 精品久久一区二区| 精品午夜久久福利大片| 国产精品久久久久天天影视| 国产精品色内内在线播放| 日韩精品无码免费一区二区三区| 亚洲精品WWW久久久久久| 日本一区二区三区精品国产| 久久久久人妻一区精品果冻| 国产精品无码国模私拍视频| 99热日韩这里只有精品| 97国产视频精品| 国产成人精品曰本亚洲79ren| 91精品国产福利在线观看麻豆 | 亚洲高清国产拍精品26U| 亚洲精品偷拍视频免费观看 | 亚洲av午夜成人片精品电影| 青草青草久热精品视频在线观看| 久久久久久国产精品美女| 青春草无码精品视频在线观| 日韩亚洲精品福利| 亚洲欧美日韩精品专区| 亚洲国产另类久久久精品黑人 | 亚洲av无码精品网站| 久久久精品国产sm调教网站 |