數值型:整型、小數(定點數、浮點數)
字元型:較短的文字(char、varchar)、較長的文字(text、blob
(較長的二進位制資料));
日期型:
tinyint 、 smallint 、 mediumint 、 int
/integer 、 bigint
1(位元組)
2(位元組)
3(位元組)
4(位元組)
8(位元組)
特點:① 如果不設定無符號還是有符號,預設是有符號,如果設定無符號,需要新增unsigned
② 如果插入的數值超出了整型的返回,會直接報錯(有的版本會報警告,並插入臨界值)
③ 如果不設定長度,會有預設的長度
長度代表了顯示的最大寬度,如果不夠會用 0 在左邊填充,但必須搭配zerofill關鍵字使用!
如何設定有符號還是無符號
drop
table
ifexists 表名;
create
table 表名(
欄位1int,
欄位2intunsigned
);
一、浮點型
float
(m,d)
;double
(m,d)
;二、定點型
dec(m,d)
;decimal
(m,d)
;特點:
① m : 整數部位 + 小數部位
d : 小數部位 如果超過範圍,則插入失敗
② m 和 d 都可以省略 如果是decimal
,則 m 預設是10
, d 預設是0
; 如果是float 和 double
,則會根據插入的數值的精度來決定精度
③ 定點型的精度相對較高, 如果要求插入數值的精度較高(如:貨幣運算等)則優先考慮使用
測試 m 和 d
create
table tab_float(
f1 float(5
,2),
f2 double(5
,2),
f3 decimal(5
,2))
;insert
into tab_float values
(123.45
,123.45
,123.45);
//正確插入
insert
into tab_float values
(123.456
,123.456
,123.456);
//插入報錯
insert
into tab_float values
(1523.4
,1523.4
,1523.4);
//插入報錯
較短的文字: char
varchar
較長的文字: text
blob
(較大的二進位制)
其他:binary和varbinary 用於儲存較短的二進位制
enum 用於儲存列舉
set 用於儲存集合
特點(char和varchar的區別):
char
char
(m)(m可以省略,預設為1) 固定長度的字元 比較耗費空間 效率高
varchar
varchar
(m)(m不能省略) 可變長度的字元 比較節省空間 效率低
m: 代表是最大的字元數(注意:是字元數,不是位元組數)
插入列舉型別create
table tab_char(
c1 enum
("a"
,"b"
,"c"))
;insert
into tab_char values
("a");
//插入正確 是a
insert
into tab_char values
("a");
//能正確插入 是a 不區分大小寫
insert
into tab_char values
("d");
//插入錯誤
set(集合)型別: 和 enum 型別類似,但是set一次可以選取多個成員,而enum只能選乙個,根據成員個數不同,儲存所佔的位元組也不同create
table tab_set(
s1 set
("a"
,"b"
,"c"
,"d"))
;insert
into tab_set values
("a");
//插入正確 是a 不區分大小寫
insert
into tab_set values
("a,b");
//能正確插入 是a,b
insert
into tab_set values
("a,c,d");
//能正確插入 是a
分類:
date 只儲存日期
time 只儲存時間
year 只儲存年
datetime 儲存日期 + 時間
timestamp 儲存日期 + 時間
特點: 位元組 範圍 時區等的影響
datetime
81000
-9999 不受
timestamp
41970
-2038 受
create
table tab_date(
t1 datetime
; t2 timestamp;)
;insert
into tab_date values
(now()
,now()
);select
*from tab_date;
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 ...