數值型:
整型 小數:
定點數浮點數
字元型:
較短的文字:char
,varchar
較長的文字:text
,blob
(較長的二進位制資料)
日期型:
分類:
tinyint
,smallint
,mediumint
,int
/integer
,bigint
1位元組,2,
3,4,
5
特點:
①如果不設定無符號和有符號,預設為有符號.若設定無符號,新增unsigned
②如果插入的數值超出了整型的範圍,會報out
of range異常,並且插入的是臨界值
③如果不設定長度,會有預設的長度,長度代表的是顯示的最大寬度
如果不夠會用0在左邊填充,但必須搭配zerofill使用
drop
table
ifexists tab_int;
create
table tab_int(
t1 int(7
) zerofill,
# 預設是有符號,
t2 int
unsigned);
desc tab_int;
insert
into tab_int values(-
123456);
insert
into tab_int values(-
123456,-
123456);
insert
into tab_int values
(123
,123);
select
*from tab_int;
分類:
1.浮點型
float
(m,d)
double
(m,d)
2.定點型
dec
(m,d)
decimal
(m,d)
特點:
①m和d
m:整數部位+小數部位
d:小數部位
如果超過範圍,則插入臨界值
②m和d都可以省略,如果是decimal,則m預設為10,d預設為0.
float和double會根據插入數值的精度來決定精度
③定點型的精度較高,如果要求插入的數值精度較高如貨幣運算等,則考慮使用
測試m和d
drop
table
ifexists tab_float;
create
table tab_float(
f1 float
, f2 double
, f3 decimal);
select
*from tab_float;
desc tab_float;
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
(123.4
,123.4
,123.4);
insert
into tab_float values
(1523.4
,1523.4
,1523.4
);
原則:
所選擇的型別越簡單越好,能儲存數值的型別越小越好
較短的文字:
char
varchar
其他:binary和varbinary用於儲存較短的二進位制
enum用於儲存列舉
set用於儲存集合
較長的文字:
text
blob
(較大的二進位制)
特點:
寫法 m的意思 特點 空間的耗費 效率
char
char
(m) 最大的字元數,可以省略預設為1 固定長度的字元 比較耗費 高
varchar
varchar
(m) 最大的字元數,不可以省略 可變長度的字元 比較節省 低
create
table tab_char(
c1 enum
('a'
,'b'
,'c'
)# enum列舉型別,要求插入值必須是列表值中之一);
insert
into tab_char values
('a');
insert
into tab_char values
('b');
insert
into tab_char values
('c');
insert
into tab_char values
('m');
insert
into tab_char values
('a');
select
*from tab_char;
create
table tab_set(
s1 set
('a'
,'b'
,'c'
,'d'
)# set集合型,類似列舉,但插入值可以是集合中的子集);
insert
into tab_set values
('a');
insert
into tab_set values
('a,b');
insert
into tab_set values
('a,c,d');
select
*from tab_set;
分類:
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;
show variables like
'time_zone'
;set time_zone=
'+9:00'
;# 改變時區,datetime和timestamp就有了區別
mysql資料型別用法 mysql資料型別和用法
歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...
mysql 資料型別 真假 MySQL 資料型別
mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...
mysql 郵箱 資料型別 mysql 資料型別
1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...