# 常見資料型別
/*數值型:
整型 小數:
定點數浮點數
字元型:
較短的文字:char、varchar
較長的文字:text、blob(較長的二進位制資料)
日期型:
*/# 一、整型
/*整數型別 位元組 範圍
tinyint 1
smallint 2
mediumint 3
int、integer 4
bigint 8
特 點:
① 如果不設定無符號還是有符號,預設是有符號,如果想設定無符號,需要新增unsigned關鍵字
② 如果插入的數值超出了整型的範圍,會報警告,並插入接近的臨界值
③ 如果不設定長度會有預設的長度 int 的長度由int本身決定,
設定的長度在使用zerofill時,如果長度不夠在左邊用0填充,
*/# 1.如何設定無符號和有符號
drop
table
ifexists tab_int;
create
table tab_int(
t1 int(7
),t2 int
unsigned
, t3 int(7
) zerofill);
desc tab_int;
insert
into tab_int values(-
123456,-
123456);
select
*from tab_int
# 小數
/*浮點數型別 位元組 範圍
float(m,d) 4
double(m,d) 8
定點數型別 位元組 範圍
dec(m,d)/decimal(m,d) m+2
特點:①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 value
(123.45
,123.45
,123.45);
insert
into tab_float value
(123.456
,123.456
,123.456);
insert
into tab_float value
(123.4
,123.4
,123.4);
insert
into tab_float value
(1523.4
,1523.4
,1523.4);
select
*from tab_float;
# 原則:所選擇的型別越簡單越好,能儲存數值的型別越小越好
# 三、字元型
/*較短字串型別 最多字元數 特點 空間好費 效率
char(m) m(可省略預設為1) 固定長度的字元 比較耗費 高
varchar(m) m(不可省略) 可變長度的字元 比較節省 低
其他:binary和varbinary用於儲存較短的二進位制
enum用於儲存列舉
set用於儲存集合
*/create
table tab_enum(
c1 enum
('a'
,'b'
,'c'))
insert
into tab_enum values
('a');
insert
into tab_enum values
('b');
insert
into tab_enum values
('c');
insert
into tab_enum values
('m');
insert
into tab_enum values
('a');
create
table tab_set(
s1 set
('a'
,'b'
,'c'))
insert
into tab_set values
('a');
insert
into tab_set values
('a,b,c');
insert
into tab_set values
('a,a');
# 四、日期型別
/*日期和時間型別 位元組 最小值 最大值
date 4
datetime 8 1000-01-01 00:00:00 999-12-31 23:59:59
timestamp 4 19700101080001 2023年的某乙個時刻
time 3
year 1
區別:①timestamp支援範圍小
②timestamp受時區和版本影響大
*/# 示例
create
table tab_date(
t1 datetime
t2 timestamp);
insert
into tab_date values
(now()
,now()
)
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 smallint mediumint int integer bigint 1 位元組 2 位元組 3 位元組 4 位元組 8 位元組 特點 ...