欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql signed unsigned和zerofill使用與區(qū)別

 更新時間:2024年07月21日 11:49:32   作者:程序猿進階  
mysql中有符號signed,無符號unsigned與零填充zerofill,本文主要介紹了mysql signed unsigned和zerofill使用與區(qū)別,具有一定的參考價值,感興趣的可以了解一下

靈感來源

在這里插入圖片描述

mysql中有符號signed,無符號unsigned與零填充zerofill

UNSIGNED

無符號UNSIGNED是一個屬性,你可以在創(chuàng)建或修改表時為整數(shù)類型的列指定它。無符號屬性意味著該列只能存儲非負整數(shù)(0和正整數(shù)),而不是默認的有符號整數(shù),后者可以存儲負數(shù)、零和正數(shù)。

例如,如果你定義一個列為INT UNSIGNED,那么這個列就不能存儲負數(shù)。相比之下,一個普通的INT類型的列(默認是有符號的)可以存儲從-21474836482147483647的整數(shù)。而INT UNSIGNED類型的列可以存儲從0 到 4294967295的整數(shù)。

使用無符號類型的好處是它可以擴大正數(shù)的存儲范圍,因為它不需要為負數(shù)分配空間。這在某些情況下非常有用,比如當你知道數(shù)據(jù)永遠不會是負數(shù)時(例如年齡、計數(shù)器或其他只能是正的度量)。

下面是一個創(chuàng)建無符號列的例子:

CREATE TABLE person (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    age TINYINT UNSIGNED NOT NULL
);

在這個例子中,id列是一個無符號整數(shù),并且是自動遞增的主鍵。age列是一個無符號的TINYINT,意味著它只能存儲從0255的整數(shù)。如果嘗試插入一個負數(shù)到無符號列中,MySQL會產(chǎn)生一個錯誤或?qū)⒇摂?shù)轉(zhuǎn)換為最接近的有效值(通常是0)。

類型大小無符號范圍有符號范圍
TINYINT1 字節(jié)(-128,127)(0,255) 小整數(shù)值
SMALLINT2 字節(jié)(-32 768,32 767)(0,65 535) 大整數(shù)值
MEDIUMINT3 字節(jié)(-8 388 608,8 388 607)(0,16 777 215) 大整數(shù)值
INT或INTEGER4 字節(jié)(-2 147 483 648,2 147 483 647)(0,4 294 967 295) 大整數(shù)值

zerofill

當插入mysql中該字段的值的長度小于定義的長度時,會在數(shù)值前面補全相應數(shù)據(jù)的0。

比較常用的應該是月份或日期前補0,還是整形數(shù)字不是字符串。

CREATE TABLE `t1` (  
  `year` year(4) DEFAULT NULL,  
  `month` int(2) unsigned zerofill DEFAULT NULL,  
  `day` int(2) unsigned zerofill DEFAULT NULL  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;```

到此這篇關(guān)于mysql signed unsigned和zerofill使用與區(qū)別的文章就介紹到這了,更多相關(guān)mysql signed unsigned zerofill內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評論