mysql預設的浮點資料 mysql 資料型別

2021-10-18 18:44:14 字數 2272 閱讀 1026

# 常見的資料型別

數值型:

整型小數:

定點型浮點型

字元型:

較短的文字:char,varchar

較長的文字:text,blob(較長的二進位制資料)

日期型:

#一、整型

tinyint,smallint,mediumint,int integer,bigint

1,2 3 48

特點:(1)如果不設定,預設是有符號;如果想要無符號,需要加上unsigned關鍵字

(2)如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值

(3)如果不設定長度,會有預設長度

長度代表了顯示的最大寬度,如果不夠,會用0在左邊填充,但是必須搭配zerofill使用

#1.如何設定有符號和無符號

drop table if exists tab_int;

create table tab_int(

t1 int,

t2 int unsigned);

desc tab_int;

insert into tab_int(t1,t2) values(-123456,-123456);

select * from tab_int;

drop table if exists tab_int;

create table tab_int(

t1 int(7) zerofill,

t2 int(8) zerofill);

insert into tab_int(t1,t2) values(123,123);

select * from tab_int;

# 二、小數:

1.定點型

dec(m,d)

decimal(m,d)

2.浮點型

float(m,d)

double(m,d)

特點:(1)m,d啥意思

m:整數部位+小數部位

d:小數部位

如果超過範圍,則插入臨界值

(2)m,d均可省略

如果是dec,則m預設是10,d預設是0

如果是float 和 double,則會根據插入數值的精度來決定精度

(3)定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算則考慮使用

create table tab_float(

f1 float(5,2),

f2 double(5,2),

f3 dec(5,2));

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(1723.4,1723.4,1723.4);

select * from tab_float;

#原則:

奧卡姆剃刀,越簡單越好

#三、字元型

較短的文字:char,varchar

char(n):固定長度的字元,可省略,預設為1;空間比較消耗;效率高

varchar(n):可變長度的字元,不可省略;空間比較節省;效率低

n最多的字元數,字元符:乙個字母或者乙個漢字

較長的文字:text,blob(較長的二進位制資料)

列舉:enum

create table tab_char(

c1 enum("a","b","c"));

#這裡面固定只能a,b,c

集合:set

create table tab_aet(

c1 aet("a","b","c","d"));

#四、日期型

(1)date類

date:"yyyy-mm-dd"(年-月-日)

datetime:"yyyy-mm-dd hh:mm:ss"(年-月-日 時:分:秒)

timestamp:日期和時間

create table tab_date(

t1 datetime,

t2 timestamp);

insert into tab_date values(now(),now());

select * from tab_date;

(2)time類

只有時間

(3)year類

只有年

浮點數的儲存以及 浮點數的比較

浮點數的儲存採用的是近似的原理 float儲存格式為 s e m 1位符號位 8位指數 23位尾數 轉成數值即為 v 1 s 1.m 2 e 127 對於16.5轉成二進位制為00010000.1 1.00001 2 4,那麼在記憶體的表示為 符號位 指數4 127 131 尾數 0 1000001...

資料型別 浮點數

面對金融和數學程式經常使用浮點數。float double long double 數學中有一般記數法 科學記數法 指數記數法 e記數法 指數記數法是計算機中的寫法。有效位數代表了精度,指數代表了可表示數的範圍 c99標準新增了一種新的浮點型常量格式 用十六進製制表示浮點型常量。即在十六進製制數前加...

浮點數的儲存

浮點數在計算機中的儲存格式 符號位 指數字 尾數字 符號位 指數字 尾數字 float 1位 8位 23位 共32位 double 1位 11位 52位 共64位 任何浮點數都可表示為 1.m 2e 符號位 sign 表示式中的 0表示正數,1表示負數。指數字 exponent 表示式中的e,指數字...