1. 程式人生 > >mysql中tinyint、smallint、int

mysql中tinyint、smallint、int

TINYINT ,欄位型別,如果設定為UNSIGNED型別,只能儲存從0到255的整數,不能用來儲存負數

TINYINT 型的欄位如果不設定UNSIGNED型別,儲存-128到127的整數。

通常,為了節省空間,應該儘可能的使用最小的整型資料。一個TINYINT型資料只佔用一個位元組,一個INT型資料佔用四個位元組。這看起來似乎差別不大,但是在比較大的表中,位元組數的增長是很快的。另一方面,一旦你已經建立了一個欄位,要修改它是很困難的。因此,為安全起見,你應該預測一下,一個欄位所需要儲存的數值最大有可能是多大,然後選擇適當的資料型別。

smallint

SMALLINT 資料型別是一種精確數值資料型別,其精度在

算術運算後不變。它需要 2 個位元組儲存。

有符號的 SMALLINT 值的範圍是 –2^15(2^15表示2的15次冪) 到2^15 – 1,即 –32768 到 32767。 無符號的 SMALLINT 值範圍是 0 到 2^16 – 1,即 0 到 65535。

INT

是4位元組資料,取值範圍 -2^31 - 2^31,所以在考慮最大資料範圍的前提下,優先使用smallint型別。

-- 引自百度百科

相關推薦

mysqltinyintsmallintmediumint,int 和bigint 的區別

符號 sig 次方 mysql 無符號 big mysq bit http 1 bytes = 8 bit ,一個字節最多可以代表的數據長度是2的8次方即-128到127,無符號從 0 到 255 的整型數據。 TINYINT[(M)]

mysqltinyintsmallintint

TINYINT ,欄位型別,如果設定為UNSIGNED型別,只能儲存從0到255的整數,不能用來儲存負數。 TINYINT 型的欄位如果不設定UNSIGNED型別,儲存-128到127的整數。 通常,為了節省空間,應該儘可能的使用最小的整型資料。一個TINYINT型資料只

mysql欄位型別tinyintsmallintmediumintintbigint詳解

mysql建模的過程中,對於優化來講一個非常重要的點就是欄位型別的設定,好的欄位型別的設定可以幫助更快的查詢資料同時能節約硬碟空間,這對於優化資料庫來講是非常重要的。 mysql的欄位型別大體來講分為int、text、varchar、char、blog等幾種,而各自的型別

intbigintsmallintmediuminttinyint區別

最近建立資料庫表的時候,某些欄位要用int、bigint、smallint、mediumint、tinyint的時候有點亂。今天就在網上仔細找了找,找到如下內容,留檔做個總結:  1、BIGINT[

MySQL函數CONCATCONCAT_WS及GROUP_CONCAT

tinc sig form 運行時 使用 desc 結合 esc 缺省 一、CONCAT()函數CONCAT()函數用於將多個字符串連接成一個字符串。使用數據表Info作為示例,其中SELECT id,name FROM info LIMIT 1;的返回結果為+----+-

解析mysql:單表distinct多表group by查詢去除重復記錄

itl lec sql 4.0 mysql clas 遺憾 join 去除 單表的唯一查詢用:distinct多表的唯一查詢用:group bydistinct 查詢多表時,left join 還有效,全連接無效,在使用mysql時,有時需要查詢出某個字段不重復的記錄,雖然

mysql檢視所有表表字段表註釋欄位註釋

mysql中檢視所有表、表字段、表註釋、欄位註釋 檢視所有表和表註釋 select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = '某資料庫名稱' I

MySQL時間型別DATETIMETIMESTAMPDATETIMEYEAR

1.幾個的區別 詳細可以參考:https://www.cnblogs.com/Jie-Jack/p/3793304.html 2.針對時間型別的一些操作 nodejs支援多種格式轉換為時間戳: var str1 = "2017-01-19 13:00:00"; va

MySQL的儲存過程遊標和儲存函式

MySQL中的儲存過程 首先來看兩個問題: 1.什麼是儲存過程? 儲存過程(Stored Procedure)是在資料庫系統中,一組為了完成特定功能的SQL語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程有引數的話)來執行它。 2.為什麼要使用儲

mysql如何獲取年日及本週是一年中的第幾周??

select year(curdate()),month(curdate()),day(curdate()); select weekofyear(curdate()); 有點細微的差別,weekofyear(date)相當於week(date,3). 下面是week(d

MySQL的樂觀鎖悲觀鎖共享鎖排它鎖行鎖表鎖死鎖概念

下文的所有介紹,都是基於InnoDB儲存引擎,其他引擎的表現,會有較大的區別。 樂觀鎖 用資料版本(Version)記錄機制實現,是樂觀鎖最常用的一種實現方式。什麼是資料版本?即為資料增加一個版本標識,一般是通過為資料庫表增加一個數字型別的“version”欄位來實現

mysql的自然聯結內聯結外聯結

1.自然聯結 定義:無論何時對錶進行聯結,應該至少有一個列出現不止一個表中(被聯結的列)。標準的聯結返回所有資料,甚至相同的列多次出現。自然聯結排除多次出現,使每個列只返回一次;(也就是說,自然聯結

mysqljoin後onwhere的區別

可能只看這兩個關鍵字看不出任何的問題。那我們使用實際的例子來說到底有沒有差異。    例如存在兩張表A,B表資料如下:  語句一 Sql程式碼 select  A.ID as AID, B.ID as BID   from A leftjoin B on A

mysqlTinyint(1)資料格式自動轉為boolean型別

一次專案中資料庫使用Tinyint(1),實體類使用boolean,剛開始還好奇怎麼可以這樣儲存, 不過自己測試了一下,set屬性為true,資料庫欄位自動儲存為1,set屬性為false,資料庫欄位自動儲存為0 後來網上查了相關資料,整理如下: 1.資料 1.MYSQL資

mysqlintbigintsmallinttinyint的區別詳細介紹

mysql中int、bigint、smallint 和 tinyint的區別詳細介紹 1 bytes = 8 bit ,一個位元組最多可以代表的資料長度是2的8次方 11111111 在計算機中也就是 -128到127 1.BIT[M] 位欄位型別,M表示每個值的位數,範圍從1到64,如果M被忽略,

mysqlintbigintsmallinttinyint的區別與長度的含義

最近使用MySQL資料庫的時候遇到了多種數字的型別,主要有int,bigint,smallint和tinyint。其中比較迷惑的是int和smallint的差別。今天就在網上仔細找了找,找到如下內容,留檔做個總結: 使用整數資料的精確數字資料型別。 bigint 從 -2^63 (-922337203685

mysql的bigintintsmallinttinyint取值範圍

tinyint 一個位元組8位 (0,255) 的整型資料 smallint  兩個位元組16位 (-2^15 ,2^15 - 1) 的整型資料 int 4個位元組32位 (-2^31,2^

mysql的資料型別intbigintsmallinttinyint取值範圍

目錄 int 註釋 使用整數資料的精確數字資料型別。 bigint         從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型資料(所有數字)。儲存大

Mysqlint(M)tinyint(M)的M詳解

mysql資料庫中以 :資料型別(m)來約束資料,其中 數字m在不同的資料型別中表示含義是不同的如整形和字元型就是不同的。 整型數系統已經限制了取值範圍,tinyint佔一個位元組有符號的範圍是-128 - 127,無符號的範圍是 從 0 到 255 的整型資料。int佔4

intbigintsmallinttinyint範圍

com tar lint blog 表達式 href idc server 註釋 int、bigint、smallint 和 tinyint範圍使用整數數據的精確數字數據類型。bigint從 -2^63 (-9223372036854775808) 到 2^63-1 (92