時間
mysql中時間型別包括:date、dateTime、time、timeStamp、year,對于時間的使用只需要根據需求選擇對應的型別即可,只是需要注意以下幾點
1、幾種時間型別可以精確到秒后最多6位
2、time的范圍為'-838:59:59.000000' to '838:59:59.000000','11:12' means '11:12:00',1112 means 00:11:12
3、timeStamp有時間范圍限制1970-01-01 00:00:01.000000至2038-01-19 03:14:07.999999
4、year保存兩位時: 70-99 表示 1970-1999 00-69 表示 2000-2069.
數字
mysql中的數字型別包括:integer(int)、smallInt、decimal(dec|fixed)、numeric
1、boolean型別相當于tinyInt(1)的變種,在mysql中true==1 false==0,但是if判斷時非0則為true
2、整數型別根據表示范圍分為了以下幾種
2.1 tinyInt(8) 有符號范圍為-128~127,無符號范圍為0~255,以下型別類似區分有無符號表示不同范圍
2.2 smallInt(16)
2.3 mediumInt(24)
2.4 int(32)
2.5 bigInt(64)
3、浮點型別(m,d)
3.1 float(32) 單精度浮點數
3.2 double(64) 雙精度浮點數
4、小數型別: decimal(m,d)主要用于金額的保存m代表數字的個數包括小數位最大65
字符型別
1、char與varchar
char 最大位元組數為255,內容不足給定長度時會填充空格保存,取出時去除,除非PAD_CHAR_TO_FULL_LENGTH被設定為啟用'char判斷相等時會去重空格,但是like不會
varchar最大65535長度,該長度為字符數,根據編碼的不同轉換為不同的最大值(比如utf的最大值為21844),由于是變長所以需要儲存長度在不大于255時使用一個子節否則兩個子節
2、binary與varbinary
二進制形式下的char與varchar
3、blob
tinyblob使用一位元組保存長度,最大255子節,
blob使用兩位元組保存長度,最大2^16-1
mediumBlob使用三位元組保存長度,最大2^24-1
longBlob使用四位元組保存長度,最大2^32-1
4、text
blob的非二進制的型別
5、enum
列舉型別,創建表時約定范圍
6、set
集合型別,創建表示給定范圍
字串需要注意字符編碼,包括存盤編碼與排序編碼,如果設定優先級為列 > 表 > 資料庫 > 服務
| 存盤無 | 存盤有 | |
|---|---|---|
| 排序無 | 都是用默認 | 排序使用存盤默認 |
| 排序有 | 存盤使用排序的主編碼 | 使用給定的 |
對于char、varchar、text如果編碼為binary就會轉換為對應的bianary、varbinary、blob,enum與set不會有變化
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/262445.html
標籤:其他
上一篇:redis組態檔注解
