日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度

發布時間:2023/12/15 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

存儲寬度 是實際存儲記錄寬度

存儲寬度默認是寫死的,就算修改寬度也改變不了,改變的是顯示寬度

============有符號和無符號int=============

創建一個 無符號的 int 整數類型

mysql> create table t3(id int(1) unsigned);

Query OK,0 rows affected (0.01sec)

mysql> desct3;+-------+-----------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-----------------+------+-----+---------+-------+

| id | int(1) unsigned | YES | | NULL | |

+-------+-----------------+------+-----+---------+-------+

1 row in set (0.00 sec)

mysql> insert into t3 values(25555555);

Query OK,1 row affected (0.00sec)

mysql> select * fromt3;+----------+

| id |

+----------+

| 25555555 |

+----------+

1 row in set (0.00sec)

整數類型 最大? 4個字節存儲

無符號int類型 最大 這個數 4294967295 無符號范圍0-4294967295

mysql> insert into t3 values(25555555555555555555555555555555555);

Query OK,1 row affected, 2 warnings (0.00sec)

mysql> select * fromt3;+------------+

| id |

+------------+

| 25555555 |

| 4294967295 |

+------------+

2 rows in set (0.00 sec)

自己定義寬度的 int(1) 沒有限制現在存儲 ,因為mysql 不管是 tinyint 、int、bigint 整數類型 都不用設置寬度的

整數類型的那個設置寬度 不是存儲寬度,而是顯示寬度

對于tinyint、int、bigint的存儲寬度 mysql已經固定死了,例如用tinyint mysql只用1個字節

int用4個字節、bigint8個字節,能改變的只有顯示寬度

顯示寬度設置5,int 最大存儲寬度是4個字節

mysql> create table t4(id int(5) unsigned);

Query OK,0 rows affected (0.01sec)

mysql>show tables;+---------------+

| Tables_in_db4 |

+---------------+

| t1 |

| t2 |

| t3 |

| t4 |

+---------------+

4 rows in set (0.00sec)mysql> desc t4;

+-------+-----------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-----------------+------+-----+---------+-------+

| id | int(5) unsigned | YES | | NULL | |

+-------+-----------------+------+-----+---------+-------+

1 row in set (0.00 sec)mysql> insert into t4 values(1),(255);

Query OK,2 rows affected (0.01sec)

Records:2 Duplicates: 0 Warnings: 0mysql> select * fromt4;+------+

| id |

+------+

| 1 |

| 255 |

+------+

2 rows in set (0.00 sec)

顯示寬度 是查詢表的時候,顯示的結果的寬度

======用zerofill測試整數類型的顯示寬度=============

再創建一張表t5 加上zerofill用0填充,加上這個可以看到顯示寬度意思

mysql> create table t5(id int(5) zerofill);

Query OK,0 rows affected (0.01sec)

mysql> insert into t5 values(1),(2);

Query OK,2 rows affected (0.00sec)

Records:2 Duplicates: 0 Warnings: 0mysql>mysql> select * fromt5;+-------+

| id |

+-------+

| 00001 |

| 00002 |

+-------+

2 rows in set (0.00 sec)

如果插入的記錄的寬度 超過設置的顯示寬度,他會正常顯示

mysql> insert into t5 values(111111111111111111111111111111111111111111);

Query OK,1 row affected, 2 warnings (0.00sec)

mysql> select * fromt5;+------------+

| id |

+------------+

| 00001 |

| 00002 |

| 4294967295 |

+------------+

3 rows in set (0.00 sec)

這個是顯示寬度

不設置寬度時候

mysql> create table t6(id intunsigned);

Query OK,0 rows affected (0.01sec)

mysql> desct6;+-------+------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+------------------+------+-----+---------+-------+

| id | int(10) unsigned | YES | | NULL | |

+-------+------------------+------+-----+---------+-------+

1 row in set (0.00 sec)

無符號int整數類型默認寬度是10字節,有符號int整數類型默認寬度是11字節

默認不加任何東西就是 有符號int整數類型

mysql> create table t7(id int);

Query OK,0 rows affected (0.02sec)

mysql> desct7;+-------+---------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+---------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

+-------+---------+------+-----+---------+-------+

1 row in set (0.00 sec)

注意:為該類型指定寬度時,僅僅只是指定查詢結果的顯示寬度,與存儲范圍無關,存儲范圍如下

其實我們完全沒必要為整數類型指定寬度,使用默認的就可以了

默認的顯示寬度,都是在最大值的基礎上加1

對于整數類型 沒有必要設置寬度 設置的寬度是顯示寬度,對于其他類型來說設置的寬度是 存儲寬度

int的存儲寬度是4個Bytes,即32個bit,即2**32

無符號最大值為:4294967296-1

有符號最大值:2147483648-1

有符號和無符號的最大數字需要的顯示寬度均為10,而針對有符號的最小值則需要11位才能顯示完全,所以int類型默認的顯示寬度為11是非常合理的

最后:整形類型,其實沒有必要指定顯示寬度,使用默認的就ok

總結

以上是生活随笔為你收集整理的mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。