mysql資料型別和屬性
(2010-10-19 11:54:48)
標籤:mysql
資料型別
雜談資料型別和屬性
對mysql表每個列中的資料實行嚴格的控制,這是資料驅動應用程式成功的關鍵。
這些資料型別的行為可以通過包含屬性(attribute)進一步調整。
資料型別分為三種類別:日期和時間、數值以及字串
一、日期和時間資料型別
1、date
date資料型別負責儲存日期資訊。mysql以標準的yyyy-mm-dd格式顯示date值。這些值可以使用
數字或字串來插入。
2、datetime
datetime資料型別負責儲存日期和時間資訊的組合。與date一樣,datetime值以標準格式yyyy-mm-dd
hh:mm:ss儲存。
這些值也可以使用數值或字串來插入。
3、time
time資料型別負責儲存時間資訊,支援的範圍相當大,不僅足以表示標準時間和軍用時間格式,還可以表示擴張時間間隔。
4、timestamp[(m)] [default] [on update]
tmiestamp資料型別不同於datetime,mysql執行了影響timestamp資料的insert或update操作之後,會自動將其更新為當前
的日期和時間。timestamp值顯示為hh:mm:ss格式,與date和datetime資料型別一樣,也可以是數值或字串進行賦值。
timestamp值可以採用如下格式顯示:yyyymmddhhmmss(14位數)、yymmddhhmmss(12位數)、yyyymmdd(8位數)和yymmdd(6位數)
範圍從1970-01-01 00:00:01 到2037-12-31 23:59:59 ,其儲存需要4個位元組。
4.1版本開始,timestamp值始終儲存為yyyy-mm-dd hh:mm:ss
5.year[(2|4)]
year資料型別負責儲存年份特定資訊。
兩位數值 1~99,範圍從1~69的值轉換為2001~2069的值,範圍從70~99的值轉換為1970~1999的值。
四位數值 1901~2155。
二、數值資料型別
1、bool和boolean
bool和boolean只是tinyint(1)別名,用於賦值0或1.
2、bigint [(m)]
bigint資料型別提供了mysql最大的整數範圍,支援符號範圍-9 223 372 036 854 775 808 ~
9 223 372 036 854 775 807 ,無符號數範圍從0~18 446 744 073 709 551 615
共20位
3、int [(m)] [unsigned] [zerofill]
int資料型別提供了mysql的第二大整數範圍,支援的有符號數範圍-2 147 483 648 ~9 223 372 036 854
775 807
無符號數範圍從0~4 294 967 295. 共10位
3、mediumint [(m)] [unsigned] [zerofil]
mediumint資料型別提供了mysql的第三大整數範圍,支援的有符號數範圍從-8 388 608 ~8 338 607
無符號整數範圍從 0~16 777 215 共8位
4、smallint [(m)] [unsigned] [zerofill]
smallint資料型別提供了mysql的第四大整數範圍,支援的有符號數範圍從-32
768~32768,無符號0~65535.
tinyint [(m)] [unsigned] [zerofill]
有符號範圍從-128~127 ,無符號0~256。
5.decimal ([m[.d]]) [unsigned] [zerofill]
decimal資料型別是儲存為字元的浮點數。
6、double([m,d]) [unsigned] [zerofill]
double資料型別是雙精度浮點數。
7、folat([m,d]) [unsigned] [zerofill]
float資料型別變體是mysql的單精度浮點數表示形式。
8、folat (precision) [unsigned] [zerofill]
float資料型別變體odbc相容性提供,其精度對於單精度可以從1~24,雙精度為25~53.
三、字串資料型別
1、[national] char(length) [binary | ascii | unicode]
char資料型別為mysql提供了固定長度的字串表示形式,支援最大255個字元。如果插入的字串不足length空間,
剩餘部分將填充為空白。如果length是乙個字元,則使用者可以忽略長度引用。只使用char。還可以指定零長度的char並有
not null屬性,它只允許null或"".提供national
屬性是出於相容性原因,因為sql-99通過這個屬性來指定應該對列使用預設
字符集,而mysql已經預設地要求使用預設字符集。給出binary屬性是使該列的值以區別大小寫的方式排序,忽略該屬性將以區分
大小寫的方式排序。
2.[national] varchar(length) [binary]
varchar資料型別是mysql的可變長度字串表示形式,版本5.0.3支援的長度從0~65536個字元。
binary屬性是該列的值以區分大小寫的形式排序,忽略該屬性將以不區分大小寫的方式排序。
5.0.3版本開始,出於標準相容性的考慮,尾部的空白也會儲存。
3.longblob
longblob資料型別是mysql最大的二進位制字串表示形式,支援最大長度4 294 967 295個字元,共10位
4.longtext
longtext資料型別是mysql最大的非二進位制字串表示形式,支援最大長度4 294 967 295個字元,共10位。
5.mediumblob
mediumblob資料型別是mysql第二大二進位制字串表示形式,支援最多16 777 215個字元,共8位。
6.mediumtext
mediumtext資料型別是mysql的第二大非二進位制文字字串,能夠儲存最大長度16777215個字元,共8位。
7.blob
blob資料型別是mysql第三大二進位制字串表示形式,支援最大長度65535個字元。
8.text
text資料型別是mysql第三大非二進位制字串表示形式,支援最大長度65535個字元。
9.tinyblob
tinyblob資料型別是mysql最小的二進位制字串表示形式,支援最大長度255個字元。
10.tinytext
tinytext型別是mysql最小的非二進位制字串表示形式,支援最大長度255個字元。
11.enum("memeber1","member2",..."member65535")
enum資料型別最多儲存一組預定義值中的某乙個成員提供了一種方法,這組值最多包括65535個不同成員。成員的選擇限制為
列定義中宣告的值。如果列宣告包括null屬性,則null將認為是乙個有效值。並且是預設值,如果宣告not
null,則列表的第乙個成員是預設值。
12.set("member1","member2",..."member64")
set資料型別為指定一組預定義中的零個或多個值提供了一種方法,這組值最多包括64個成員。
值的選擇限制為列定義中宣告的值。儲存需求是1、2、3、4或8個值,這取決於成員的數目,可以使用公式(n+7)/8確定確認的需求,這裡n是集合大小。
分享:載入中,請稍候......
登入名: 密碼: 找回密碼 註冊記住登入狀態
暱 稱:
MySQL 資料型別 資料型別的屬性
資料表在建立時,需為每個字段選擇資料型別,而資料型別的選擇則決定著資料的儲存格式,有效範圍和相應的限制。mysql 提供了多種資料型別,主要分為 3 類 1 整型 mysql資料型別 含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 3276...
MYSQL資料型別的屬性含義
在新增資料型別的時候,要設定資料型別的屬性,具體說說各資料型別的屬性的含義 1,mysql關鍵字null 資料列可包含null值 2,關鍵字not null 資料列不允許包含null值 3,關鍵字default 預設值 例如 default www.oceanoemchina.com 值 4,關鍵字...
MySQL資料型別及欄位屬性
mysql 資料型別mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間 字串 字元 mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數...