幾種基本資料型別選擇

2021-08-09 00:08:15 字數 1435 閱讀 3773

浮點數與定點數

1.浮點數:在mysql中一般用float,double(或real)來表示浮點數。如果插入資料的精度超過該列定義的實際精度,則插入值會被四捨五入到實際定義的精度值,然後插入,四捨五入的過程不會報錯(精度不夠準)。

定點數:定點數實際上是以字串形式存放的,所以精度更高,能更準確的儲存資料。

浮點數會出一些問題,單精度和雙精度也是有差異的。

涉及到金融,必須用定點數來儲存。

浮點數的比較也是乙個普遍存在的問題,如果要比較,則進行使用範圍比較,不要使用==來比較。

注意:在今後關於浮點數和定點數的應用中,使用者要考慮到以下幾個原則:

 浮點數存在誤差問題;

 對貨幣等對精度敏感的資料,應該用定點數表示或儲存;

 在程式設計中,如果用到浮點數,要特別注意誤差問題,並盡量避免做浮點數比較;

 要注意浮點數中一些特殊值的處理。

日期型別選擇

根據實際需要選擇能夠滿足應用的最小儲存的日期型別。如果應用只需要記錄「年

份」,那麼用 1 個位元組來儲存的 year 型別完全可以滿足,而不需要用 4 個位元組來

儲存的 date 型別。這樣不僅僅能節約儲存,更能夠提高表的操作效率。

 如果要記錄年月日時分秒,並且記錄的年份比較久遠,那麼最好使用 datetime,

而不要使用 timestamp。因為 timestamp 表示的日期範圍比 datetime 要短得多。

 如果記錄的日期需要讓不同時區的使用者使用,那麼最好使用 timestamp,因為日

期型別中只有它能夠和實際時區相對應。

常見資料型別選取原則:

 對於字元型別,要根據儲存引擎來進行相應的選擇。

 對精度要求較高的應用中,建議使用定點數來儲存數值,以保證結果的準確性。

 對含有 text 和 blob 欄位的表,如果經常做刪除和修改記錄的操作要定時執行

optimize table 功能對錶進行碎片整理。

 日期型別要根據實際需要選擇能夠滿足應用的最小儲存的日期型別。

基本資料型別

列舉 定義列舉型別 enum season 定義兩個列舉變數 enum season mylove yourlove 為兩個列舉變數賦值 yourlove fall mylove winter 把列舉值當成無符號整數執行輸出 nslog fall 的值 u fall 3 nslog winter 的...

基本資料型別

建立資料庫 create database database name 顯示所有資料庫 show databases 選擇使用那個資料庫 use database name 刪除資料庫 drop database database name 檢視自己mysql資料庫支援什麼儲存引擎 show eng...

基本資料型別

整型int 整數,在目前絕大多數機器上佔4個位元組。tc環境中是2個位元組 單精度實型float 單精度浮點數,一般是4個位元組長 雙精度實型double 雙精度浮點數,一般是8個位元組長 字元型char 字元,一般是1個位元組長 用來表示256個ascii字元,或者0 255的整數 列舉型enum...