mysql欄位型別詳解

2021-07-26 19:55:33 字數 2034 閱讀 5379

整型:

tinyint

1位元組,範圍:-128~127

smallint

2位元組,範圍:-32768~32767

mediumint

3位元組,範圍:-8388608~8388607

int4位元組,範圍:-2147483648~2147483647

bigint

8位元組,範圍:+-9.22*10的18次方

加上unsigned 關鍵字定義成無符號型別,對應的取值範圍從0開始,如tinyint,範圍:0~255

浮點型:

float(m,d)

4位元組,單精度浮點型,m總個數,d小數字個數

double(m,d)

8位元組,雙精度浮點型,m總個數,d小數字個數

decimal(m,d)

把浮點數儲存為字串型別

注意:float和double通常不設定m,d

如果實際插入資料大於格式能承受資料,則資料庫儲存格式能承受資料,如:float(5,3)能儲存最大資料為99.999,如果向其插入123.123,那麼資料庫儲存的是99.999

字串型別:

char(n)

固定長度,最多255個字元

varchar(n)

可變長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

可變長度,最多65535個字元

mediumtext

可變長度,最多2的24次方-1個字元

longtext

可變長度,最多2的32次方-1個字元

注意:1、char和varchar中的n代表字元的個數,而不是位元組個數,所以使用中文,utf-8,意味著儲存n個漢字,但實際占用n*3個位元組

2、char和varchar的區別就是:不管插入資料多大,char都會占用n個字元的空間,而varchar會占用實際資料+1字元的空間(實際+1<=n)

如:n=5,插入3個字元,char會占用5個字元的空間,而varchar會占用4個字元的空間;如果插入4或者5個字元,varchar都是占用5個字元的空間

3、超過n之後的字元會被截斷捨棄

char在儲存的時候會被截斷尾部的空格,varchar和text不會

日期和時間型別:

date

3位元組,日期,格式:2017-01-01

time

3位元組,時間,格式:08:10:30

datetime

8位元組,日期時間,格式:2017-01-01 08:10:30

範圍:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

timestamp

4位元組,時間戳

範圍:』1970-01-01 00:00:01′ 到 』2038-01-19 03:14:07′

year

1位元組,年份

timestamp表示的含義是「時間戳」,其實就是指「當前時刻」,本質上是乙個數字,代表從2023年1月1日0點0分0秒到某個時間之間的秒數數值。該型別的字段值無需賦值,而是會自動取得當前時間值。

列舉型別:

enum('member1','member',...)

enum列舉最多包含65535個不同成員。

當定義了乙個enum列時,列的值限制為列舉中的值。

如果列的宣告包含null,則null被認為是乙個有效值,並且是預設值;如果列宣告了not null,則列表的第乙個成員是預設值

set('member1','member',...)

set與enum的區別是:enum只能取乙個值,類似表單中的單選項;set可以取多個值,類似多選項

字段型別選擇原則:

1、盡可能小:占用儲存空間少

2、盡可能定長:占用儲存空間固定

3、盡可能使用整數

mysql 字段 MySQL欄位型別詳解

mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允許格式。由mysql...

MySQL欄位型別詳解

2009 01 05 09 25 小大 分享至 詞庫網 監控 伺服器監控 seo監控 手機遊戲 iphone遊戲 mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個列型別的儲存需求,然後提供每個類中的型別性質的更詳...

MySQL欄位型別詳解

mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允許格式。由mysql...