1. 程式人生 > >Mysql中int(M)、tinyint(M)的M詳解

Mysql中int(M)、tinyint(M)的M詳解

mysql資料庫中以 :資料型別(m)來約束資料,其中 數字m在不同的資料型別中表示含義是不同的如整形和字元型就是不同的。

整型數系統已經限制了取值範圍,tinyint佔一個位元組有符號的範圍是-128 - 127,無符號的範圍是 從 0 到 255 的整型資料。int4個位元組

有符號的範圍是-2^31 到 2^31 - 1 的整型資料(所有數字),無符號的範圍是0到2^32。所以整型數後面的m不是表示的資料長度,而是表示資料在顯示時顯示的最小長度(長度為字元數)。

例如:

tinyint(1) 這裡的1表示的是 最短顯示一個字元。tinyint(2) 這裡的2表示的是 最短顯示兩個字元,但這裡光設定

m是沒有意義的,你還需要指定當資料少於長度m時用什麼來填充,比如zerofill(表示有0填充)。設定tinyint(2) zerofill 你插入1時他會顯示01。設定tinyint(4) zerofill 你插入1時他會顯示0001

 int(M)裡的M表示最小顯示寬度,當加上zerofill才會表現出效果來。比如 int(3) zerofill,你插入到資料庫裡的是10,則實際插入為010,也就是在前面補充加了一個0.如果int(3)和int(10)不加 zerofill,則它們沒有什麼區別.M不是用來限制int個數的.int(M)的最大值和最小值與undesigned有關。

可以測試一下

Create table t1(id int7,id2 tinyint(1),id3 tinyint(3));

 ALTER TABLE t1 MODIFY id INT(7) ZEROFILL;

 ALTER TABLE t1 MODIFY id2 tinyint(1) ZEROFILL;

ALTER TABLE t1 MODIFY id3 tinyint(3) ZEROFILL;

INSERT INTO t1(id,id2,id3) VALUES(1,1,45);

INSERT INTO t1(id,id2,id3) VALUES(1235455,1,45);


相關推薦

MysqlintMtinyintMM

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

mysql授權(grant)和撤銷授權(revoke)等命令的用法[轉]

MySQL的許可權系統圍繞著兩個概念:  認證->確定使用者是否允許連線資料庫伺服器  授權->確定使用者是否擁有足夠的許可權執行查詢請求等。 如果認證不成功的話,哪麼授權肯定是無法進行的。 revoke 跟 grant 的語法差不多,只需要把關鍵字 “to”

mysqlleft join,right join,inner join,outer join的用法【轉】

非常慚愧用了這麼久的mysql居然沒有用過outer join和inner join,對outer join的認識也僅是知道它是外連結,至於什麼用途都不清楚,至於還有沒有left outer join更是不得而知,某天有人問起,才想起自己mysql知識的貧乏,趕緊找了一下網上

轉載對比MySQLintchar 以及 varchar 的效能

轉載:https://www.jb51.net/article/148819.htm 網路上有許多似是而非的“謠言”,當然都不是惡意,絕大部分都是開發者不願意自己主動研究,反而輕信其他人的信口之言。 關於資料庫的謠言也有不少,比如“int效能比char高很多”。 我最近針對int

Mysqlint型別強制插入float型會發生什麼nctfweb ,mysql

首先建立一個表A,只有一個列,就是a,型別設定為int create table A(a int); 然後強制插入資料5.1和5.5 insert into A values(5.1); insert into A values(5.5); 然後查詢,select * from A;

關於MySQL的事務回滾rollback提交commit

0 場景 需要連續對同一資料表進行增刪改操作時,我們會分別執行多條sql語句。 此時可能會出現兩類問題: 所有的語句執行完成後,發現其中一句執行錯了 某一句執行完成後,後悔了想要重新執行 遇到上述問題,能夠時光倒流和吃後悔藥嗎? MySQL的Innodb引

mysqlint(1)int後面的數字簡單介紹

你可能知道int(1)這個長度1並不代表允許儲存的寬度,但對這個長度也沒有真正研究過到底代表什麼。 下面連結是mysql資料型別的儲存和範圍: http://www.runoob.com/mysql/mysql-data-types.html 我們拿int型別舉例: in

mysqlintbigintsmallint 和 tinyint的區別詳細介紹

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

MySQLint(M)和tinyint(M)數值型別M值的意義

我們建立一個數據表test: mysql> CREATE TABLE test( -> id1 int(1), -> id2 tinyint(1) ->); 我們給id1定義為int,並設定字元長度為1,id2定

MySQL 的行級鎖表級鎖和頁級鎖不看後悔,看了必懂

行級鎖 行級鎖是 MySQL 中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖。行級鎖分為共享鎖和排他鎖。 特點:加鎖開銷大,會出現死鎖,鎖定粒度最小,發生鎖衝突的概率最低,併發度最高 頁級鎖 頁級鎖是 MySQL 中鎖定粒度介於行級鎖和表級鎖中間的一種鎖。

MySQLint(M)和tinyint(M)數值型別M值的意義(轉載)

首先,我們建立一個數據表test: mysql> CREATE TABLE test( -> id1 int(1), -> id2 tinyint(1) ->); 我們給id1定義為int,並設定字元長度為1,id2定義

mysqlintbigintsmallint 和 tinyint的區別與長度的含義

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

SQLunion並集except差集intersect交集用法,然而 mysql 不支援except 和 intersect

​​​​​​知識點: UNION返回兩個結果集的並集。還有一個union all的用法(union沒有包含重複列,union all 包含重複列) EXCEPT 返回兩個結果集的差(即從左查詢中返回右查詢沒有找到的所有非重複值(第一個表有,第二個表無))。 INTERS

C語言存儲類別又分為四類:自動auto靜態static寄存器的register和外部的extern

字符變量 修飾 例如 register ext 進行 適合 sta -- 除法運算中註意: 如果相除的兩個數都是整數的話,則結果也為整數,小數部分省略,如8/3 = 2;而兩數中有一個為小數,結果則為小數,如:9.0/2 = 4.500000。 取余運算中註意: 該運算只適

Flask08 包含include繼承extends宏???模板變量的來源

自己 weight es2017 static out btn query range turn 1 包含   直接把另一個文件的內容,復制粘貼過來   {% include "模板路徑" %}     註意:模板都是放在 templates 這個文件夾下面的,可以在裏

C++重載overload覆蓋override與隱藏oversee

acl 普通 evc dft war srx rpo 成員 avt body, table{font-family: 微軟雅黑; font-size: 10pt} table{border-col

二叉樹的先序/序/後序遞迴非遞迴+層序遍歷

queue 的基本操作舉例如下: queue入隊,如例:q.push(x); 將x 接到佇列的末端。 queue出隊,如例:q.pop(); 彈出佇列的第一個元素,注意,並不會返回被彈出元素的值。 訪問queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。 訪問que

關於面對物件過程的三大架構以及資料訪問層實體類資料操作類

關於面對物件過程中的三大架構以及資料訪問層(實體類、資料操作類) 面向物件開發專案三層架構: 介面層、業務邏輯層、資料訪問層 資料訪問層,分為實體類和資料訪問類 在專案的下面新增一個App_Code資料夾把所有的類放在App_Code這個資料夾下邊。

MySQL技術內幕 InnoDB儲存引擎:鎖問題髒讀不可重複讀

1、髒讀 在理解髒讀(Dirty Read)之前,需要理解髒資料的概念。但是髒資料和之前所介紹的髒頁完全是兩種不同的概念。髒頁指的是在緩衝池中已經被修改的頁,但是還沒有重新整理到磁碟中,即資料庫例項記憶體中的頁和磁碟中的頁的資料是不一致的,當然在重新整理到磁碟之前,日誌都已經被寫人到

C++類的三種繼承方式public公有繼承protected保護繼承private私有繼承之間的差別附思維導圖【轉】

(轉自:https://blog.csdn.net/coco56/article/details/80467975) 注:若不指明繼承方式,則預設是私有繼承。 一:對於公有繼承(public)方式: 基類的public和protected成員的訪問屬性在派生類中保持不變,但基類的p