MySql資料型別詳解

2021-09-25 18:36:53 字數 1905 閱讀 6990

1.整型(***int)

mysql資料型別

含義tinyint(m)

1個位元組表示(-128~127)

smallint(m)

2個位元組表示(-32768~32767)

mediumint(m)

3個位元組表示(-8388608~8388607)

int(m)

4個位元組表示(-2147483648~2147483647)

bigint(m)

8個位元組表示(+-9.22*10的18次方)

2.浮點型(float和double)

mysql資料型別

含義float(m,d)

單精度浮點型,8位精度(4位元組),m是十進位制數字的總個數,d是小數點後面的數字個數

double(m,d)

雙精度浮點型,16位精度(8位元組)

數m只影響顯示效果,不影響精度,d卻不同,會影響到精度。比如設乙個字段定義

3.定點數(decimal)

decimal(m,d) 定點型別浮點型在資料庫中存放的是近似值,而定點型別在資料庫中存放的是精確值。引數m是定點型別數字的最大個數(精度),範圍為0~65,d小數點右側數字的個數,範圍為0~30,但不得超過m。對定點數的計算能精確到65位數字。

4.字串(char,varchar,***text)

mysql資料型別

含義char(n)

固定長度的字串,最多255個字元

varchar(n) 

可變長度的字串,最多65535個字元

tinytext 

可變長度字串,最多255個字元

text 

可變長度字串,最多65535個字元

mediumtext 

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

longtext 

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

5.二進位制資料(***blob)

***blob和***text是對應的,不過儲存方式不同,***text是以文字方式儲存的,如果儲存英文的話區分大小寫,而***blob是以二進位制方式儲存的,不區分大小寫。***blob儲存的資料只能整體讀出。***text可以指定字符集,***blob不用指定字符集。

6.日期時間型別(date,time,datetime,timestamp)

mysql資料型別

含義date

日期'2008-12-2'

time

時間'12:25:36'

datetime

日期時間'2008-12-2 22:06:44'

timestamp

不固定

timestamp比較特殊,如果定義乙個欄位的型別為timestamp,這個欄位的時間會在其他字段修改的時候自動重新整理。所以這個資料型別的字段可以存放這條記錄最後被修改的時間,而不是真正來的存放時間。

7.資料型別的屬性

mysql關鍵字

含義 

null

資料列可包含null值

not null

資料列不允許包含null值

default ***

預設值,如果插入記錄的時候沒有指定值,將取這個預設值

primary key 

主鍵 

auto_increment 

遞增,如果插入記錄的時候沒有指定值,則在上一條記錄的值上加1,僅適用於整數型別 

unsigned

無符號 

character set name 

Mysql 資料型別詳解

位元組大小 範圍 有符號 範圍 無符號 用途tinyint 1 位元組 最小 128 最大 127 最小 0 最大 255 小整數值 smallint 2 位元組 最小 32768 最大 32767 最小 0 最大 65535 短整數值 mediumint 3 位元組 最小 8388608 最大 8...

MySQL資料型別詳解

常見的資料型別 一 整型 tinyint smallint mediumint int integer bigint 位元組數123 48二 小數 float double dec m,d decimal m,d 位元組數488 8decimal 可以簡寫成dec,所以後兩個作用一樣 m 表示總共有...

Mysql資料型別詳解

mysql資料型別包括 1.整數型別,浮點數型別和定點數型別 2.時間和日期型別 3.字串型別 4.二進位制型別 整數型別 標準的sql中支援integer,smallint這兩類整數型別,mysql除了這兩個還有其他的,見下表 1位元組等於8位 2 8 256 2 16 65536.型別大小範圍 ...