mysql資料型別屬性 MySQL資料型別和屬性

2021-10-18 11:30:17 字數 3841 閱讀 8491

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 以及近似數...