1. 程式人生 > >mysql資料庫----資料型別

mysql資料庫----資料型別

一、數值型別

1、整型

整數型別:TINYINT SMALLINT MEDIUMINT INT BIGINT

我們完全沒必要為整數型別指定顯示寬度,使用預設的就可以了

預設的顯示寬度,都是在最大值的基礎上加1

 

2、浮點型

 浮點型:FLOAT DOUBLE

定點數:DECIMAL

型別 定義 精確度
FLOAT
單精度浮點數(非準確小數值),m是數字總個數,d是小數點後個數。
m最大值為255,d最大值為30
隨著小數的增多,精度變得不準確
DOUBLE
雙精度浮點數(非準確小數值),m是數字總個數,d是小數點後個數。
m最大值為255,d最大值為30
隨著小數的增多,精度比float要高,但也會變得不準確
DECIMAL
準確的小數值,m是數字總個數(負號不算),d是小數點後個數。
m最大值為65,d最大值為30。
隨著小數的增多,精度始終準確 
對於精確數值計算時需要用此型別

 

二、字串型別

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

標識該欄位為唯一的