mysql
中定義資料欄位的型別對你資料庫的優化是非常重要的。
mysql
支援多種型別,大致可以分為三類:數值、日期
/時間和字串(字元
)型別。
mysql
支援所有標準
sql數值資料型別。
這些型別包括嚴格數值資料型別
(integer
、smallint
、decimal
和numeric)
,以及近似數值資料型別
(float
、real
和double precision)
。關鍵字
int是
integer
的同義詞,關鍵字
dec是
decimal
的同義詞。
bit資料型別儲存位字段值,並且支援
myisam
、memory
、innodb
和bdb
表。作為
sql標準的擴充套件,
mysql
也支援整數型別
tinyint
、mediumint
和bigint
。下面的表顯示了需要的每個整數型別的儲存和範圍。
型別
大小
範圍(有符號)
範圍(無符號)
用途
tinyint
1 位元組
(-128
,127)(0,
255)
小整數值
smallint
2 位元組
(-32 768
,32 767)(0,
65 535)
大整數值
mediumint
3 位元組
(-8 388 608
,8 388 607)(0,
16 777 215)
大整數值
int或
integer
4 位元組
(-2 147 483 648
,2 147 483 647)(0,
4 294 967 295)
大整數值
bigint
8 位元組
(-9 233 372 036 854 775 808
,9 223 372 036 854 775 807)(0,
18 446 744 073 709 551 615)
極大整數值
float
4 位元組
(-3.402 823 466 e+38
,1.175 494 351 e-38),0
,(1.175 494 351 e-38
,3.402 823 466 351 e+38)0,
(1.175 494 351 e-38
,3.402 823 466 e+38)
單精度浮點數值
double
8 位元組
(1.797 693 134 862 315 7 e+308
,2.225 073 858 507 201 4 e-308),0
,(2.225 073 858 507 201 4 e-308
,1.797 693 134 862 315 7 e+308)0,
(2.225 073 858 507 201 4 e-308
,1.797 693 134 862 315 7 e+308)
雙精度浮點數值
decimal
對decimal(m,d)
,如果m>d
,為m+2
否則為d+2
依賴於m和d
的值依賴於m和
d的值小數值表示時間值的日期和時間型別為
datetime
、date
、timestamp
、time
和year
。每個時間型別有乙個有效值範圍和乙個"零
"值,當指定不合法的
mysql
不能表示的值時使用"零
"值。timestamp
型別有專有的自動更新特性,將在後面描述。
型別
大小(位元組
)
範圍
格式
用途
date
31000-01-01/9999-12-31
yyyy-mm-dd
日期值time
3'-838:59:59'/'838:59:59'
hh:mm:ss
時間值或持續時間
year
11901/2155
yyyy
年份值datetime
81000-01-01 00:00:00/9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和時間值
timestamp
81970-01-01 00:00:00/2037
年某時yyyymmdd hhmmss
混合日期和時間值,時間戳
字串型別指
char
、varchar
、binary
、varbinary
、blob
、text
、enum
和set
。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。
型別
大小
用途
char
0-255
位元組定長字串
varchar
0-65535
位元組變長字串
tinyblob
0-255
位元組不超過
255
個字元的二進位制字串
tinytext
0-255
位元組短文本字串
blob
0-65 535
位元組二進位制形式的長文字資料
text
0-65 535
位元組長文字資料
mediumblob
0-16 777 215
位元組二進位制形式的中等長度文字資料
mediumtext
0-16 777 215
位元組中等長度文字資料
longblob
0-4 294 967 295
位元組二進位制形式的極大文字資料
longtext
0-4 294 967 295
位元組極大文字資料
char
和varchar
型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。
binary
和varbinary
類類似於
char
和varchar
,不同的是它們包含二進位制字串而不要非二進位制字串。也就是說,它們包含位元組字串而不是字元字串。這說明它們沒有字符集,並且排序和比較基於列值位元組的數值值。
blob
是乙個二進位製大物件,可以容納可變數量的資料。有4種
blob
型別:tinyblob
、blob
、mediumblob
和longblob
。它們只是可容納值的最大長度不同。有4
種text
型別:tinytext
、text
、mediumtext
和longtext
。這些對應4種
blob
型別,有相同的最大長度和儲存需求。
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...