系統採用乙個位元組來儲存的整形。乙個位元組=8位,最大能表示的範圍是0-255。比如年齡
系統採用兩個位元組來儲存的整形。 兩個位元組=16位,表示範圍是0-65535。
系統採用三個位元組來儲存資料。 三個位元組=24位,
整形(標準整形),採用四個四節來儲存資料。
大整形,採用八個位元組來儲存資料。
測試案例
建立資料表
-- 建立資料表
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 mediumint,
int_4 int,
int_5 bigint
) charset=utf8;
插入合理資料
-- 插入資料
插入錯誤資料(超出對應的資料範圍)
錯誤原因
錯誤原因並不是說tinyint
沒有那麼大空間,而是因為mysql
預設的為整形增加了負數
實際應用中,應該根據對應的資料的範圍來選擇對應的整形型別:通常使用的比較多的是tinyint
和int
無符號:表示儲存的資料在當前欄位中,沒有負數(只有正數,0-255)
基本語法:在型別之後加乙個unsigned
測試案例alter table my_int add column int_6 tinyint unsigned first;
顯示長度:指資料(整形)在資料顯示的時候,到底可以顯示多長位。
tinyint(3):表示最長可以顯示3位,unsigned說明只能是正數,0-255永遠不會超過三個長度。
tinyint(4):表示最長可以顯示4位,-128~127, 負號也表示乙個長度
顯示長度只是代表了資料是否可以達到指定的長度,但是不會自動滿足到指定長度:如果想顯示資料時,保持最高位(顯示長度),那麼還需要給字段增加乙個zerofill
屬性才可以。
alter table my_int add column int_7 tinyint zerofill first;
insert into my_int values(1,1,1,1,1,1,1);
zerofill :從左側開始填充0(左側不會改變量值大小),所以負數的時候就不能使用zerofill
,乙個字段一旦使用了zerofill
就相當於該字段為unsigned
。
資料顯示的時候,zerofill
會在左側填充0
到指定為:如果不足3位,那麼填充到3位,如果本身已經足夠了或者超出,那麼就不在填充。
mysql基礎 列型別 整型
mysql列型別 字串 mysql列型別 時間和日期 mysql 支援多種列型別 數值型別 日期 時間型別和字串 字元 型別說明 m 表示最大顯示寬度。最大有效顯示寬度是255。d 適用於浮點和定點型別,並表示小數點後面的位數。最大可能的值是30,但不應大於m 2。方括號 和 表示可選部分。如果為乙...
sort 排序 多列 整型
6 sort的 t選項和 k選項 如果有乙個檔案的內容是這樣 這個檔案有三列,列與列之間用冒號隔開了,第一列表示水果型別,第二列表示水果數量,第三列表示水果 那麼我想以水果數量來排序,也就是以第二列來排序,如何利用sort實現?幸好,sort提供了 t選項,後面可以設定間隔符。是不是想起了cut和p...
Rust 原始型別 整型
rust 中的整型可以分為有符號的整型和無符號的整型,有如下的型別 長度有符號 無符號8 bit i8 u8 16 bit i16 u16 32 bit i32 u32 64 bit i64 u64 128 bit i128 u128 arch isize usize isize和usize和具體的...