還記得上一篇學習的內容嗎?不記得再看一看MySQL學習第五天 MySQL數據庫基本操作,溫故可以知新!
數據類型是指列、存儲過程參數、表達式和局部變量的數據特征,它決定了數據的存儲方式,代表了不同的信息類型。MySQL中常用的的數據類型包括:數值類型、日期和時間類型和字符串類型等。
一、數值類型
MySQL支持所有標準SQL中的數值類型,其中包括嚴格數據類型(INTEGER、SMALLINT、DECIMAL、NUMBERIC),以及近似數值數據類型(FLOAT、REAL、DOUBLE、PRESISION),并在此基礎上進行擴展。擴展后增加了TINYINT、MEDIUMINT、BIGINT這3種長度不同的整形,并增加了BIT類型,用來存放位數據。
(1).整型
在MySQL中支持的5個主要整數類型是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。這些類型在很大程度上是相同的,只有它們存儲的值的大小是不相同的。
MySQL以一個可選的顯示寬度指示器的形式對SQL標準進行擴展,這樣當從數據庫檢索一個值時,可以把這個值加長到指定的長度。例如,指定一個字段的類型為INT(6),就可以保證所包含數字少于 6 個的值從數據庫中檢索出來時能夠自動地用空格填充。需要注意的是,使用一個寬度指示器不會影響字段的大小和它可以存儲的值的范圍。萬一我們需要對一個字段存儲一個超出許可范圍的數字,MySQL會根據允許范圍最接近它的一端截短后再進行存儲。還有一個比較特別的地方是,MySQL會在不合規定的值插入表前自動修改為0。
下面的表顯示了需要的每個整數類型的存儲和范圍:

上面定義的都是有符號的,當然了,也可以加上UNSIGNED關鍵字,定義成無符號的類型,那么對應的取值范圍就要翻翻了,比如:TINYINT UNSIGNED的取值范圍為0~255。
例如我們存儲人的年齡,就是使用TINYINT UNSIGNED:
| CREATE TABBLE tb1( age TINYINT UNSIGNED, ); |
(2).浮點型
MySQL支持的三個浮點類型是FLOAT、DOUBLE和DECIMAL類型。FLOAT數值類型用于表示單精度浮點數值,而DOUBLE數值類型用于表示雙精度浮點數值。與整數一樣,這些類型也帶有附加參數:一個顯示寬度指示器和一個小數點指示器。比如語句 FLOAT(7,3) 規定顯示的值不會超過7位數字,小數點后面帶有3位數字。對于小數點后面的位數超過允許范圍的值,MySQL會自動將它四舍五入為最接近它的值,再插入它。
DECIMAL數據類型用于精度要求非常高的計算中,這種類型允許指定數值的精度和計數方法作為選擇參數。精度在這里指為這個值保存的有效數字的總個數,而計數方法表示小數點后數字的位數。比如語句DECIMAL(7,3) 規定了存儲的值不會超過7位數字,并且小數點后不超過3位。
新聞熱點
疑難解答