數據類型
- 數據類型(data_type):指系統中所允許的數據的類型
- MySQL中常用的數據類型爲:
- 數值類型:
- 日期和時間類型
- 字符串類型
數值類型
-
整型
(1) TINYINT: 一字節,無符號取值範圍[0,255], 有符號取值範圍[-128,127] (2) SMALLINT: 二字節,無符號取值範圍[0,65535], 有符號取值範圍[-32768,32767] (3) MEDIUMINT: 三字節,無符號取值範圍[0,16777215], 有符號取值範圍[-8388608,8388607] (4) INT: 四字節,無符號取值範圍[0,4294967295], 有符號取值範圍[-2147483648,2147483647] (5) BIGINT: 八字節,無符號取值範圍[0,2^64 - 1], 有符號取值範圍[-2^63,2^63 - 1]
-
定點類型
(1) DECIMAL:即小數,可以用(M, D)來表示,其中M稱爲精度,表示總共的位數;D稱爲標度,表示小數的位數 (2) 例如:salary DECIMAL(5,2),則表示salary的範圍爲 -999.99 到 999.99, 即總位數爲5位,小數位數爲兩位
-
浮點類型
(1) FLOAT: 四字節, 可表示精度爲0 - 23位 (2) DOUBLE:八字節, 可表示精度爲0 - 53位 (3) float和double同樣支持(M,D)表示形式,(M,D)表示最多可存儲M個數字的值,其中D表示小數點的位數
-
Bit-Value型
(1) BIT(M): 用於存儲位值,M表示1bit允許存儲M位值,M的取值範圍爲1-64
日期和時間類型
-
DATE
日期類型,用於包含日期部分但不包含時間部分的值。MySQL檢索並顯示日期'YYYY-MM-DD'格式的值。支持的範圍是“1000-01-01”到“9999-12-31”。
-
DATETIME
日期時間類型,用於同時包含日期和時間部分的值。MySQL檢索並以'YYYY-MM-DD hh:mm:ss'格式顯示日期時間值。支持的範圍是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”
-
TIMESTAMP
時間戳數據類型,用於同時包含日期和時間部分的值。時間戳的範圍是 '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
-
TIME
時間類型,MySQL檢索並以'hh:mm:ss'格式顯示時間值(或'hhh:mm:ss'格式顯示更大範圍的小時值)。時間值可能從'-838:59:59'到'838:59:59'不等。小時的部分之所以如此之大,是因爲可以使用時間類型不僅能代表一天之內(必須小於24小時),還能代表運行時間或兩個事件之間的時間間隔(這可能是遠遠大於24小時,甚至爲負)
-
YEAR
(1) 年份類型,是用於表示年份值的類型,大小爲1字節。它可以聲明爲YEAR或YEAR(4),顯示寬度爲4個字符 (2) MySQL以 YYYY 格式顯示年份值,範圍從 1901 到 2155, 或0000
字符串類型
-
CHAR(M)
CHAR類型爲固定長度字符串,在定義時指定字符串列長。當保存時,在右側填充空格以達到指定的長度。M 表示列的長度,範圍是 0~255 個字符。
-
VARCHAR(M)
(1) VARCHAR(M) 是長度可變的字符串,M 表示最大列的長度,M 的範圍是 0~65535 (2) VARCHAR 的最大實際長度由最長的行的大小和使用的字符集確定,而實際佔用的空間爲字符串的實際長度加 1 (3) 例如:str1 VARCHAR(10), 定義了一個最大長度爲10個字符的字符串,如果插入的字符串只有3個,則實際存儲的字符串爲 3 個字符和 一個字符串結束字符