最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Mysql?tinyint(1)與tinyint(4)的區(qū)別

 更新時間:2023年03月20日 16:43:02   作者:尖子塔  
本文主要介紹了淺談Mysql?tinyint(1)與tinyint(4)的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

引言

借由本篇文章來探討下在Mysql數(shù)據(jù)庫中數(shù)值類型tinyint(1)tinyint(4) 有啥區(qū)別呢?

什么是tinyint(M)?

先來了解下mysql中字符串類型varchar(M) 和數(shù)值類型tinyint(M) 的區(qū)別?
字符串列類型: varchar(M) 而言,M 是字段中可以存儲的最大字符長度,也就是說是字段長度。根據(jù)設置,當你插入超出字段長度的數(shù)據(jù)時,你很可能會收到錯誤提示,即使沒有收到錯誤提示,你插入的數(shù)據(jù)也會被自動截斷以適應該字段的預定義長度。所以,varchar(20) 和 varchar(40) 是不同的,其真實反映了該字段可以存儲的數(shù)據(jù)長度。
數(shù)值列類型:其長度修飾符表示最大顯示寬度,與該字段物理存儲沒有任何關(guān)系。也就是說,tinyint(1) 和 tinyint(4) 能夠存儲的數(shù)值范圍都是-128…127 (or for unsigned values 0…255),他們是相同的數(shù)據(jù)類型,當然他們還是有一點差異,以下會有說明。
對于 tinyint 數(shù)據(jù)類型,只占 1 個字節(jié)

- 無符號的(unsigned),范圍是 0 到 255,默認長度是 3。
- 有符號的(signed),范圍是 -128 到 127,默認長度是 4。

范圍算法:tinyint占1個字節(jié),一個字節(jié) 8 位,也就是1*8=8,可以表示的數(shù)字個數(shù)是 2的 8 次方(2^8 = 256個數(shù)字)。

區(qū)別:若使用了 zerofill,當實際長度達不到指定的顯示長度時,就會用 0 在前面補齊。(簡記zerofill作用就是補零)

測試

先創(chuàng)建一張測試表,對 tinyint 類型都使用 zerofill。

CREATE TABLE `pre_demo` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `unsigned_t` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000',
  `signed_t` tinyint(4) unsigned zerofill NOT NULL DEFAULT '0000',
  `t1` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0',
  `t2` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00',
  `t3` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000',
  `t4` tinyint(4) unsigned zerofill NOT NULL DEFAULT '0000',
  `t5` tinyint(5) unsigned zerofill NOT NULL DEFAULT '00000',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

然后,插入測試數(shù)據(jù)。

NSERT INTO pre_demo VALUES(NULL,8,8,8,8,8,8,8);
INSERT INTO pre_demo VALUES(NULL,123,123,123,123,123,123,123);

最后,查詢數(shù)據(jù)表中的數(shù)據(jù)。

mysql> SELECT * FROM pre_demo;
+----+------------+----------+-----+-----+-----+------+-------+
| id | unsigned_t | signed_t | t1  | t2  | t3  | t4   | t5    |
+----+------------+----------+-----+-----+-----+------+-------+
|  1 |        008 |     0008 |   8 |  08 | 008 | 0008 | 00008 |
|  2 |        123 |     0123 | 123 | 123 | 123 | 0123 | 00123 |
+----+------------+----------+-----+-----+-----+------+-------+
2 rows in set (0.00 sec)
mysql> SELECT *,LENGTH(id),LENGTH(unsigned_t),LENGTH(t1) FROM pre_demo;
+----+------------+----------+-----+-----+-----+------+-------+------------+--------------------+------------+
| id | unsigned_t | signed_t | t1  | t2  | t3  | t4   | t5    | LENGTH(id) | LENGTH(unsigned_t) | LENGTH(t1) |
+----+------------+----------+-----+-----+-----+------+-------+------------+--------------------+------------+
|  1 |        008 |     0008 |   8 |  08 | 008 | 0008 | 00008 |          1 |                  3 |          1 |
|  2 |        123 |     0123 | 123 | 123 | 123 | 0123 | 00123 |          1 |                  3 |          3 |
+----+------------+----------+-----+-----+-----+------+-------+------------+--------------------+------------+
2 rows in set (0.00 sec)

總結(jié)

  • tinyint(1) 與 tinyint(4) 能夠存儲的數(shù)據(jù)范圍是一樣的,都是 0 到 255(無符號的)。區(qū)別在于,當使用 zerofill 時,查詢結(jié)果顯示的長度可能不同。
  • zerofill 和 指定長度配合使用,可用于統(tǒng)一數(shù)據(jù)的顯示長度,比如在數(shù)據(jù)庫層面快速生成統(tǒng)一長度的流水號。
  • 一般情況下,無須刻意指定整型數(shù)據(jù)類型的長度。使用 MySQL 的默認長度tinyint(4) 即可。

參考文獻

http://blog.darkmi.com/2016/06/24/3110.html

https://blog.csdn.net/lamp_yang_3533/article/details/100061678

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

相關(guān)文章

  • MySQL模糊查詢語句整理集合

    MySQL模糊查詢語句整理集合

    在本篇文章里小編給大家分享的是一篇關(guān)于MySQL模糊查詢語句整理內(nèi)容,有興趣的朋友們可以學習下。
    2020-02-02
  • 如何將MySQL的兩個表名對調(diào)

    如何將MySQL的兩個表名對調(diào)

    本文介紹怎么將MySQL的兩個表名調(diào)換,這個辦法更能確保更換的安全,不出其他的問題,有需要的可以參考下。
    2016-08-08
  • mysql用戶創(chuàng)建與授權(quán)的簡單實例

    mysql用戶創(chuàng)建與授權(quán)的簡單實例

    MySQL等主流數(shù)據(jù)庫的最高權(quán)限一般是root用戶,有時我們需要提供數(shù)據(jù)庫的賬號和密碼以使用某些服務,下面這篇文章主要給大家介紹了關(guān)于mysql用戶創(chuàng)建與授權(quán)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • mysql 5.7.21 winx64綠色版安裝配置方法圖文教程

    mysql 5.7.21 winx64綠色版安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.21 winx64綠色版安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 深入理解Mysql的四種隔離級別

    深入理解Mysql的四種隔離級別

    開發(fā)工作中我們會使用到事務,那你們知道事務又分哪幾種嗎?MYSQL標準定義了4類隔離級別,用來限定事務內(nèi)外的哪些改變是可見的,哪些是不可見的。低的隔離級一般支持更高的并發(fā)處理,并擁有更低的系統(tǒng)開銷。下面通過這篇文章我們來一起深入理解Mysql中的四種隔離級別。
    2016-11-11
  • MySQL數(shù)據(jù)庫 Load Data 多種用法

    MySQL數(shù)據(jù)庫 Load Data 多種用法

    這篇文章主要介紹MySQL數(shù)據(jù)庫中 Load Data 數(shù)據(jù)的幾種種用法,需要的朋友可以參考下面文章的解說
    2021-08-08
  • 淺談mysql 針對單張表的備份與還原

    淺談mysql 針對單張表的備份與還原

    下面小編就為大家?guī)硪黄獪\談mysql 針對單張表的備份與還原。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • mysql 維護常用命令

    mysql 維護常用命令

    需要維護mysql數(shù)據(jù)庫的朋友可以參考下。
    2009-11-11
  • MySQL主鍵自增會遇到的坑及解決方法

    MySQL主鍵自增會遇到的坑及解決方法

    主鍵不用隨機字符串用什么?主鍵自增?主鍵自增就是最佳方案嗎?有沒有其他坑?今天我們就來討論下這個話題,感興趣的小伙伴可以收藏一下
    2023-04-04
  • SQL中EXPLAIN命令的使用方法

    SQL中EXPLAIN命令的使用方法

    這篇文章主要給大家介紹了關(guān)于SQL中EXPLAIN命令的使用方法,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03

最新評論

故城县| 雷州市| 五河县| 嘉禾县| 大新县| 明星| 定西市| 四平市| 呼玛县| 正蓝旗| 江门市| 富裕县| 云林县| 华阴市| 福州市| 荔浦县| 轮台县| 许昌县| 关岭| 内乡县| 八宿县| 松潘县| 甘德县| 汉沽区| 赣州市| 抚州市| 阳春市| 长寿区| 哈巴河县| 梓潼县| 浑源县| 盱眙县| 石狮市| 达日县| 黄大仙区| 吉安县| 西丰县| 宁城县| 句容市| 香港| 疏勒县|