14 mysql 常見資料型別

2021-10-07 05:34:05 字數 1783 閱讀 4632

總覽

1 數值型:

整型 小數:定點數,浮點數

2 字元型:

較短的文字:char、varchar

較長的文字:text、blob(較長的二進位制資料)

3 日期型

整型
分類:

tinyint 、smallint、mediumint、int/integer、bigint

1 2 3 4 8 位元組數

如何設定無符號和有符號

create table tab_int(

t1 int,

t2 int unsigned #無符號

)

小數
分類:

1 浮點型 float(m,d) double(m,d)

2 定點型 dec(m,d) decimal(m,d)

特點:① m:整數部位+小數部位 總的位數

d:小數部位 的位數

如果超過範圍,則插入臨界值

② m和d都可以省略

如果是decimal,則m預設是10,d預設是0

如果是float和double,則會根據插入的數值的精度來決定精度

③ 定點型的精度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用

原則:所選擇的型別越簡單越好,能儲存數值的型別越小越好

insert into tab_float values

(323.45,343.23,333.45),

(223.45,233.23,233.45);

字元型
較短的文字:

char:儲存字元數 0-255,定義時可省略長度,預設是1

varchar:儲存字元數 0-65535 ,定義時不可省略長度

其他: binary 和 varbinary 用於儲存較短的二進位制

enum用於儲存列舉

set用於儲存集合

較長的文字:

text

blob(較大的二進位制)

案例:#建立表,只有乙個列舉型字段,插入值的時候只能是列舉值

create table tab_char(

c1 enum('a','b','c')

);insert into tab_char values('a');#插入成功

insert into tab_char values('d');#插入失敗,插入的值必須是列舉的值

#建立集合

create table tab_set(

s1 set('a','b','c','d')

);insert into tab_set values('a');#√

insert into tab_set values('a,c');#√

insert into tab_set values('b,c,d');#√

insert into tab_set values('a','b','e');#×,e不在集合之中

日期型

分類:date 只儲存日期

time 只儲存時間

year 只儲存年

datetime 儲存日期+時間

timestamp 儲存日期+時間

datetime  vs  timestamp

位元組 範圍 是否受時區等影響i

datetime 8 1000-9999 不受

timestamp 4 1970-2038 受

MYSQL 常見資料型別

一 數值整形型別 型別位元組 最小值最大值 帶符號 無符號 帶符號 無符號 tinyint 1 1位元組 8 bit 128 1270 2 8 256 轉為二進位制,包括0 smallint 2 2 8 bit 32768 32767 02 2 8 65535 mediumiint 3 3 8 bi...

Mysql常見資料型別

資料型別 儲存範圍 位元組tinyint 有符號值 128到127 2 7到2 7 1 1smallint 有符號值 32768到32767 2 15到2 15 1 2mediumint 有符號值 8388608到8388607 2 23到2 23 1 3int 有符號值 2147483648到21...

MySQL常見資料型別

常見資料型別 數值型 整型 小數 定點數浮點數 字元型 較短的文字 char varchar 較長的文字 text blob 較長的二進位制資料 日期型 一 整型 整數型別 位元組 範圍 tinyint 1 smallint 2 mediumint 3 int integer 4 bigint 8 ...