MySQL常見資料型別

2021-10-06 13:47:07 字數 2981 閱讀 9334

# 常見資料型別

/*數值型:

整型 小數:

定點數浮點數

字元型:

較短的文字: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 位元組 特點 ...