mysql學習1:數據類型:數字型,日期和時間,字符串類型(總結)


mysql數據類型:數字型,日期和時間,字符串類型

摘要

MySQL中定義數據字段的類型對數據庫的優化是非常重要的;
MySQL支持多種類型,大致可以分為三類,如下。
  • 數字類型
    • 整數:tinyint、smallint、mediumint、int、bigint
    • 浮點數:float、double、real(實數)、decimal(小數)
  • 日期和時間:date、time、datetime、timestamp、year
  • 字符串類型
    • 字符串:char、varchar
    • 文本:tinytext、text、mediumtext、longtext
每個類型都強制數據滿足該數據類型預先確定的一組規則,例如大小、類型及格式。
 

關鍵詞

  數字型   日期和時間類型   字符串類型
 

正文

1.數字型
  1.一張圖解釋,數字型的基本信息
    
 
2.日期和時間類型
  1.一張圖解釋
    
  2.詳解
    1.注意:每種日期和時間類型都有一個有效范圍。如果插入的值超出相應范圍,系統會報錯並將相應的零值插入到數據庫中,各個類型的零值請看上表。
    2.YEAR類型用4位數表示年份。范圍從1901~2155,插入超范圍的值時系統報錯並插入0000。
    3.DATE類型用YYYY-MM-DD形式顯示日期。范圍從1000-01-01~9999-12-31插入超范圍的值時系統報錯並插入零值。此類型除了可接受YYYY-MM-DD和YYYYMMDD格式的輸入外,還可以識別其它一些不嚴格的語法格式,例如YYYY/MM/DD、YYYY.MM.DD等其他標點符號作為間隔的形式日期值的輸入。
    4.TIME類型用HH:MM:SS形式顯示時間。其中MM和SS的取值范圍是0~59,HH的取值范圍比較特別其取值范圍是0~838,一般來講小時數的范圍是0~23,但是為了滿足特殊情況的需要,MySQL擴大了TIME類型的范圍,而且可以接受負數。TIME類型支持D HH:MM:S格式的時間表達字串,D表示天數,取值范圍0~34。例如,輸入30 21:15:26,系統會將小時部分按30*24+21轉換為 741:15:26。除了標准的輸入方式HH:MM:SS外,此類型還可以接受一些非標准的輸入方式,例如,輸入12,系統會轉換為00:00:12、輸入1212,系統會轉換為00:12:12、輸入121212,系統會轉換為12:12:12等。
    5.DATETIME類型用YYYY-MM-SS HH:MM:SS形式顯示日期與時間。范圍從1000-01-01 00:00:00~9999-12-31 23:59:59 插入超范圍的值時,系統報錯並插入零值(0000-00-00 00:00:00)。此類型除了可接受YYYY-MM-SS HH:MM:SS格式的輸入外,還可以識別YYYYMMSSHHMMSS形式的輸入值。例如,輸入20170117174856,系統會轉換為2017-01-17 17:48:56。
    6.TIMESTAMP類型情況與DATETIME類型接近,但是它的取值范圍要比DATETIME類型窄很多,范圍從19700101080001~20380119111407(1970-01-01 08:00:01~2038-01-19 11:14:07)。**另外,TIMESTAMP類型還有一個特別之處,那就是它的值的時間部分是根據時區來顯示的,例如在東八區插入的TIMESTAMP類型值2017-01-16 18:04:25,在東七區的時間部分會顯示17:04:25,而在東九區則變為19:04:25,對於這一點我們要特別留意。**
    7.我們在選擇日期與時間數據類型時,請根據實際需求選擇相應的類型,一般應選擇剛好夠用最好,這樣可節省系統資源。例如只需要知道日期的選擇DATE類型、需要同時知道日期與時間的就選擇DATETIME類型、僅僅需要記錄時間的則選擇TIME類型等。
 

字符串類型

  1.一張圖解釋
    
  2.char和varchar
    3.相同點:char和varchar類型都是在創建表時指定最大長度。其基本形式是:字符串類型(M)例如:char(4)就是指定char類型且它的最大長度是4。
    4.不同點:
      1.char類型的長度是固定的,在創建表時就指定了,其最大長度是0-255的任意值。例如:char(100)就是指定char類型的長度為100.
      2.varchar類型的長度是可變的,在創建時指定了最大長度。定義時,其最大值可以取0-65535之間的任意值。指定varchar類型的最大值之后,其長度可以在0到最大長度之間。例如:varchar(100)的最大長度是100.但是不是每條記錄都要占100條位置,而是在這個最大范圍內使用多少分配多少。varchar類型實際占用的空間為字符串的實際長度+1.這樣,可以有效地節約系統的空間。
  3.text類型
    1.text類型是一種特殊的字符串類型。text只能保存字符數據,如新聞的內容等。
    2.text類型包括tinytext,text,mediumtext,longtext
    3.這種字符串類型實際中用的並不是很多,一般用來直接存儲一個比較大的文本,不如說一篇文章,一篇新聞
  4.簡單總結:經常變化的字段用varchar;知道固定長度的用char;盡量用varchar;超過255字符的只能用varchar或者text;能用varchar的地方不用text。
 

 總結

  通過對每種數據類型的用途,物理存儲,表示范圍等有一個概要的了解。這樣在面對具體應用時,就可以根據相應的特來來選擇合適的數據類型,使得我們能夠爭取在滿足應用的基礎上,

用較小的存儲代價換來較高的數據庫性能

 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM