MYSQL 常見的資料型別

2021-10-07 09:09:19 字數 3618 閱讀 2870

#常見的資料型別

/*數值型:

整型小數:

定點數浮點數

字元型:

較短的文字: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...