古詩詞大全網 - 成語查詢 - mysql int 與 tinyint 有什麽區別

mysql int 與 tinyint 有什麽區別

1.規定類型之後,存儲是定長的,int(1)和int(4)從本身長度還是存儲方式上都是壹樣的。mysql裏,int(1)和int(4)的區別就是顯示的長度,但是要設置壹個參數:如果列制定了zerofill 就會用0填充顯示,如2 int(3)指定後就會顯示為002

2.int 存儲占4個字節, tinyint 存儲占1個字節,存儲長度決定了他們表示的數字範圍不同。int表示的數字範圍是:從 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型數據(所有數字)。tinyint 表示的範圍是0-255之間的數字。

3.tinyint(1),和tinyint(3)沒什麽區別,存123都能存的下,而如果tinyint(3) zerofill 的話,插入值 12,會存儲012,zerofill自動左邊補零,這才是限制顯示長度。

精簡總結:

tinyint(1)? 和 tinyint(3) 沒區別,占用字節都是壹位,存儲範圍是壹樣, 只是顯示不同,實際存儲數據沒區別

tinyint(3) zerofill ,當插入的數據少於3位的時候,左邊自動補零,這才是限制顯示長度

int(1) 和 tinyint(1) ,夠用的情況下,優先選擇tinyint(1),因為占字節少、節省空間。

tinyint(壹個字節) ,?smallint (兩個字節), MEDIUMINT(三個字節)? int(4個字節)? BIGINT(8個字節)?//這裏數據類型決定了其都是阿拉伯數字

但是,varchar(5)? 中的5 限制的是儲存字符的個數,字符不分貴賤(即中文、英文、數字...都是壹樣)

計算機編程語言主要包括匯編語言、機器語言以及高級語言,具體內容如下:[2]

匯編語言

該語言主要是以縮寫英文作為標符進行編寫的,運用匯編語言進行編寫的壹般都是較為簡練的小程序,其在執行方面較為便利,但匯編語言在程序方面較為冗長,所以具有較高的出錯率。[2]

機器語言

這種語言主要是利用二進制編碼進行指令的發送,能夠被計算機快速地識別,其靈活性相對較高,且執行速度較為可觀,機器語言與匯編語言之間的相似性較高,但由於具有局限性,所以在使用上存在壹定的約束性。[2]

高級語言

所謂的高級語言,其實是由多種編程語言結合之後的總稱,其可以對多條指令進行整合,將其變為單條指令完成輸送,其在操作細節指令以及中間過程等方面都得到了適當的簡化,所以,整個程序更為簡便,具有較強的操作性,而這種編碼方式的簡化,使得計算機編程對於相關工作人員的專業水平要求不斷放寬。

參考資料:

百度百科—編程語言