MYSQL資料型別 數值型

2021-09-30 21:02:02 字數 4226 閱讀 2260

1、整數型

-- 建立整型表

create

table my_int(

int_1 tinyint

,int_2 smallint

,int_3 int

,int_4 bigint

)charset utf8;

-- 插入資料

insert

into my_int values

(100

,100

,100

,100);

-- 有效資料

insert

into my_int values

('a'

,'b'

,'199'

,'f');

-- 無效資料: 型別限定

insert

into my_int values

(255

,10000

,100000

,1000000);

-- 錯誤: 超出範圍

-- 給表增加乙個無符號型別

alter

table my_int add int_5 tinyint

unsigned

;-- 無符號型別

-- 插入資料

insert

into my_int values

(127

,1000

,10000

,1000000

,255);

alter

table my_int add int_6 tinyint(1

)unsigned

;-- 指定顯示寬度為1;

insert

into my_int values

(127,0

,0,0

,255

,255);

alter

table my_int add int_7 tinyint(2

) zerofill;

-- 顯示寬度為2,0填充

insert

into my_int values(1

,1,1

,1,1

,1,1

);insert

into my_int values

(100

,100

,100

,100

,100

,100

,100

);

存放整型資料: 在sql中因為更多要考慮如何節省磁碟空間, 所以系統將整型又細分成了5類:

tinyint: 迷你整型,使用乙個位元組儲存, 表示的狀態最多為256種(常用)

smallint: 小整型,使用2個位元組儲存,表示的狀態最多為65536種

mediumint: 中整型, 使用3個位元組儲存

int: 標準整型, 使用4個位元組儲存(常用)

bigint: 大整型,使用8個位元組儲存

2、小數型

小數型: 帶有小數點或者範圍超出整型的數值型別.

sql中: 將小數型細分成兩種: 浮點型和定點型

浮點型: 小數點浮動, 精度有限,而且會丟失精度

定點型: 小數點固定, 精度固定, 不會丟失精度

-- 浮點數表

create

table my_float(

f1 float

,f2 float(10

,2),

-- 10位在精度範圍之外

f3 float(6

,2)-- 6位在精度範圍之內

)charset utf8;

-- 插入資料

insert

into my_float values

(1000.10

,1000.10

,1000.10);

-- 符合條件

insert

into my_float values

(1234567890

,12345678.90

,1234.56);

-- 符合條件

insert

into my_float values

(3e38,

3.01e7,

1234.56);

insert

into my_float values

(9999999999

,99999999.99

,9999.99);

-- 最大值

-- 超出長度插入資料

insert

into my_float values

(123456

,1234.123456768

,123.9876543);

-- 小數部分ok

insert

into my_float values

(123456

,1234.12

,12345.56);

-- 整數部分超出 不行

浮點型資料是一種精度型資料: 因為超出指定範圍之後, 會丟失精度(自動四捨五入)

浮點型: 理論分為兩種精度

float: 單精度, 占用4個位元組儲存資料, 精度範圍大概為7位左右

double: 雙精度,占用8個位元組儲存資料, 精度方位大概為15位左右

建立浮點數表: 浮點的使用方式: 直接float表示沒有小數部分; float(m,d): m代表總長度,d代表小數部分長度, 整數部分長度為m-d

插入資料: 可以是直接小數,也可以是科學計數法

浮點型資料的插入: 整型部分是不能超出長度的,但是小數部分可以超出長度(系統會自動四捨五入)

結果: 浮點數一定會進行四捨五入(超出精度範圍): 浮點數如果是因為系統進製導致整數部分超出指定的長度,那麼系統也允許成立.

-- 建立定點數表

create

table my_decimal(

f1 float(10

,2),

d1 decimal(10

,2))

charset utf8;

-- 插入資料

insert

into my_decimal values

(12345678.90

,12345678.90);

-- 有效資料

insert

into my_decimal values

(1234.123456

,1234.1234356);

-- 小數部分超出:ok

insert

into my_decimal values

(99999999.99

,99999999.99);

-- 沒有問題

insert

into my_decimal values

(99999999.99

,99999999.999);

-- 進製超出範圍,不行

定點型: 絕對的保證整數部分不會被四捨五入(不會丟失精度),小數部分有可能(理論小數部分也不會丟失精度)

插入資料: 定點數的整數部分一定不能超出長度(進製不可以),小數部分的長度可以隨意超出(系統自動四捨五入)

浮點數如果進製導致長度溢位沒有問題,但是定點數不行

ruby 資料型別 數值型

ruby支援整型 浮點型 有理數和複數等四種資料型別。整型可以使任意長度,在一定範圍之內的整型是fixnum型別,超出該範圍的是bignum型別,ruby自動在fixnum和bignum型別之間轉換,對使用者是透明的。有小數點或指數的數值常量自動轉化為float型別,小數點前後必須有數字。有理數和複...

Python資料型別 數值型別

python支援內建的資料型別,主要有numbers,strings,lists,dictionaris,tuples這些資料型別普遍而強大。資料型別一般與運算子結合起來講,一種資料型別要考慮它的大小和精度,變數的宣告及初始化 運算子要考慮優先順序與結合性 型別轉換以及精度丟失。變數名為字母數字下劃...

11 1 數值資料型別

11.1.1 數值資料型別語法 11.1.2 整數型別 精確值 integer,int,smallint,tinyint,mediumint,bigint 11.1.3 定點型別 精確值 decimal,numeric 11.1.4 浮點型別 近似值 float,double 11.1.5 位值型別...