MySQL資料型別

2021-07-28 08:37:47 字數 2265 閱讀 1609

數值資料型別

tinyint 有符號範圍為-128到127,無符號為0到255,占用空間1位元組

smallint 有符號為-32768到32767,無符號為0到65535,占用空間2位元組

int 有符-2147483648到2147483647, 無符號為0到4294967295,

占用空間4位元組

mediumint有符號為-8388608到8388607,無符號為0到16777215,

占用空間3位元組

bigint 有符號為-(2^23)~(2^23 - 1),無符號為0~(2^24 - 1),占用空間位元組為8位元組

浮點數型別

float(m,d)不能使用無符號的浮點數字,可以定義顯示長度m和小數字數d,預設的為10,2

double(m,d)不能使用的雙精度浮點數,預設的為16,4,存經緯度用此型別

定點數型別

decimal(m,d)非壓縮浮點數不能是無符號的,顯示長度和小數的數量是必須的,在精度要求比較高的應用中(如貨幣)要使用定點數來儲存資料

日期和時間型別

型別名稱                           日期格式                                          占用空間

year                                  yyyy                                             1個位元組

time                                   hh:mm:ss                                     3個位元組

date                                  yyyy-mm-dd                                 3個位元組

datetime                          yyyy-mm-dd hh:mm:ss              8個位元組

timestamp                        yyyy-mm-dd hh:mm:ss              4個位元組

字串型別

char(m),m為0~255之間的整數

varchar(m),m為0~65536之間的整數,值的長度+1個位元組

tinyblob,允許長度為0~255位元組,值的長度+1個位元組

blob,允許長度為0~65535位元組,值的長度+2個位元組

mediumblob ,允許長度為0~167772150位元組,值的長度+3個位元組

longblob ,允許長度為0~4294967295位元組,值的長度+4個位元組

tinytext,允許長度為0~255位元組,值的長度+2個位元組

text,允許長度為0~65535位元組,值的長度+2個位元組

mediumtext,允許長度為0~167772150位元組,值的長度+3個位元組

longtext ,允許長度為0~4294967295位元組,值的長度+4個位元組

enum,列舉,儲存需求為1或兩個位元組

set,乙個設定,字串物件可以有零個或多個set成員,儲存需求為1,2,3,4或8個位元組

資料型別的選擇注意事項

blob是二進位制串,用來儲存音訊、等二進位制資料;text是非二進位制字串,用來存放純文字檔案,雖然儲存文字檔案本質上也是儲存二進位制,但是text會有乙個字符集,會轉化為可顯示字元。

char是固定長度,優點是處理速度快,缺點是浪費空間;

varchar是可變長度,優點是節省空間,缺點是處理速度慢。

對於myisam儲存引擎,最好使用固定長度的資料列,以使整個資料表靜態化,從而縮短資料檢索時間,用空間換時間;

對於innodb儲存引擎,推薦使用varchar,因為innodb資料表的儲存格式不分固定長度和可變長度,所以在檢索時間上固定長度和可變長度差不多,所以,使用varchar就比較節省空間了。

對於日期型別的選擇,如果應用只需要記錄年,那麼用乙個位元組來儲存的year就可以滿足需求,這樣不僅能節約儲存,更能提高 表的操作效率

如果要記錄年月日時分秒,並且記錄的年份比較久遠,那麼最好使用datetime,而不是要使用timestamp,因為timestamp表示的日期範圍比datetime要短的多,如果要記錄的日期需要讓不同時區的使用者使用,那麼最好使用timestamp,因為日期型別中只用它能夠和實際時區相對應

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...