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 位值型別...