mysql資料庫----資料型別
阿新 • • 發佈:2018-12-02
一、數值型別
1、整型
整數型別:TINYINT SMALLINT MEDIUMINT INT BIGINT
我們完全沒必要為整數型別指定顯示寬度,使用預設的就可以了
預設的顯示寬度,都是在最大值的基礎上加1
2、浮點型
浮點型:FLOAT DOUBLE
定點數:DECIMAL
型別 | 定義 | 精確度 |
FLOAT | 單精度浮點數(非準確小數值),m是數字總個數,d是小數點後個數。 |
隨著小數的增多,精度變得不準確 |
DOUBLE | 雙精度浮點數(非準確小數值),m是數字總個數,d是小數點後個數。 |
隨著小數的增多,精度比float要高,但也會變得不準確 |
DECIMAL | 準確的小數值,m是數字總個數(負號不算),d是小數點後個數。 |
隨著小數的增多,精度始終準確 對於精確數值計算時需要用此型別 |
二、字串型別
1、char型別
char型別:定長,簡單粗暴,浪費空間,存取速度快 字元長度範圍:0-255(一箇中文是一個字元,是utf8編碼的3個位元組) 儲存: 儲存char型別的值時,會往右填充空格來滿足長度 例如:指定長度為10,存>10個字元則報錯,存<10個字元則用空格填充直到湊夠10個字元儲存 檢索: 在檢索或者說查詢時,查出的結果會自動刪除尾部的空格,除非我們開啟pad_char_to_full_length SQL模式(SET sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';)
2、varchar型別
varchar型別:變長,精準,節省空間,存取速度慢 字元長度範圍:0-65535(如果大於21845會提示用其他型別 。mysql行最大限制為65535位元組,字元編碼為utf-8:https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html) 儲存: varchar型別儲存資料的真實內容,不會用空格填充,如果'ab ',尾部的空格也會被存起來 檢索: 尾部有空格會儲存下來,在檢索或者說查詢時,也會正常顯示包含空格在內的內容
三、日期型別
四、約束條件
MySQL關鍵字 | 含義 |
NULL | 資料列可包含NULL值 |
NOT NULL | 資料列不允許包含NULL值 |
DEFAULT | 預設值 |
PRIMARY KEY | 主鍵 |
AUTO_INCREMENT | 自動遞增,適用於整數型別 |
UNSIGNED | 無符號 |
FOREIGN KEY (FK) |
標識該欄位為該表的外來鍵 |
UNIQUE |
標識該欄位為唯一的 |