#常見的資料型別
/*數值型:
整型小數:
定點數浮點數
字元型:
較短的文字:char、varchar
較長的文字:text、blob(較長的二進位制資料)
日期型:
#一、整型
/*分類:
tinyint、smallint、mediumint、int/integer、bigint
1 2 3 4 8
特點:① 如果不設定無符號還是有符號,預設是有符號,如果想設定無符號,需要新增unsigned關鍵字
② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值
③ 如果不設定長度,會有預設的長度
長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!
#1.如何設定無符號和有符號
drop
table
ifexists tab_int;
create
table tab_int(
t1 int(7
) zerofill,
t2 int(7
) zerofill
);
desc tab_int;
insert
into tab_int values(-
123456);
insert
into tab_int values(-
123456,-
123456);
insert
into tab_int values
(2147483648
,4294967296);
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都可以省略
如果是decimal,則m預設為10,d預設為0
如果是float和double,則會根據插入的數值的精度來決定精度
③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用
*/#測試m和d
drop
table 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.4523
,123.4523
,123.4523);
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'))
;
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_set;
create
table tab_set(
s1 set
('a'
,'b'
,'c'
,'d'))
;insert
into tab_set values
('a');
insert
into tab_set values
('a,b');
insert
into tab_set values
('a,c,d'
);
#四、日期型
分類:date只儲存日期
time 只儲存時間
year只儲存年
datetime儲存日期+時間
timestamp儲存日期+時間
特點:
位元組 範圍 時區等的影響
datetime 8 1000——9999 不受
timestamp 4 1970-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'
;#設定時區
MySQL常見的資料型別
不多說,直接上乾貨 一 資料型別是什麼?資料型別是指列 儲存過程引數 表示式和區域性變數的資料特徵,它決定了資料的儲存格式,代表了不同的資訊型別。有一些資料是要儲存為數字的,數字當中有些是要儲存為整數 小數 日期型等.二 mysql常見資料型別 mysql支援多種型別,大致可以分為四類 數值型 浮點...
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...