這裡先總結資料型別。mysql中的資料型別大的方面來分,可以分為:日期和時間、數值,以及字串。下面就分開來進行總結。
1.日期和時間資料型別
mysql資料型別
含義date
3位元組,日期,格式:2014-09-18
time
3位元組,時間,格式:08:42:30
datetime
8位元組,日期時間,格式:2014-09-18 08:42:30
timestamp
4位元組,自動儲存記錄修改的時間
year
1位元組,年份
2.數值資料型別
整型
mysql資料型別
含義(有符號)
tinyint
1位元組,範圍(-128~127)
smallint
2位元組,範圍(-32768~32767)
mediumint
3位元組,範圍(-8388608~8388607)
int4位元組,範圍(-2147483648~2147483647)
bigint
8位元組,範圍(+-9.22*10的18次方)
上面定義的都是有符號的,當然了,也可以加上unsigned關鍵字,定義成無符號的型別,那麼對應的取值範圍就要翻翻了,比如:
tinyint unsigned的取值範圍為0~255。
浮點型
mysql資料型別
含義float(m, d)
4位元組,單精度浮點型,m總個數,d小數字
double(m, d)
8位元組,雙精度浮點型,m總個數,d小數字
decimal(m, d)
decimal是儲存為字串的浮點數
我在mysql中建立了乙個表,有一列為float(5, 3);做了以下試驗:
1.插入123.45678,最後查詢得到的結果為99.999;
2.插入123.456,最後查詢結果為99.999;
3.插入12.34567,最後查詢結果為12.346;
所以,在使用浮點型的時候,還是要注意陷阱的,要以插入資料庫中的實際結果為準。
3.字串資料型別
mysql資料型別
含義char(n)
固定長度,最多255個字元
varchar(n)
可變長度,最多65535個字元
tinytext
可變長度,最多255個字元
text
可變長度,最多65535個字元
mediumtext
可變長度,最多2的24次方-1個字元
longtext
可變長度,最多2的32次方-1個字元
1.char(n)和varchar(n)中括號中n代表字元的個數,並不代表位元組個數,所以當使用了中文的時候(utf8)意味著可以插入m個中文,但是實際會占用m*3個位元組。
2.同時char和varchar最大的區別就在於char不管實際value都會占用n個字元的空間,而varchar只會占用實際字元應該占用的空間+1,並且實際空間+1<=n。
3.超過char和varchar的n設定後,字串會被截斷。
4.char的上限為255位元組,varchar的上限65535位元組,text的上限為65535。
5.char在儲存的時候會截斷尾部的空格,varchar和text不會。
6.varchar會使用1-3個位元組來儲存長度,text不會。
mysql欄位型別解析 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為數值型別 字串型別 ...
mysql密碼字段型別 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為 數值型別 字串型別...
mysql 字段 MySQL欄位型別詳解
mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允許格式。由mysql...