int(3)、int(4)、int(8) 在磁碟上都是占用 4 btyes 的儲存空間。
說白了,除了顯示給使用者的方式有點不同外,int(m) 跟 int 資料型別是相同的。
mysql> drop table if exists t;mysql> create table t(id int zerofill);
mysql> insert into t(id) values(10);
mysql> select * from t;
+------------+
| id |
+------------+
| 0000000010 |
+------------+
mysql> alter table t change column id id int(3) zerofill;
mysql> select * from t;
+------+
| id |
+------+
| 010 |
+------+
mysql>
mysql> alter table t change column id id int(4) zerofill;
mysql> select * from t;
+------+
| id |
+------+
| 0010 |
+------+
mysql>
mysql> insert into t(id) values(1000000);
mysql> select * from t;
+---------+
| id |
+---------+
| 0010 |
| 1000000 |
+---------+
char(n) 固定長度,最多255個字元varchar(n) 可變長度,最多65535個字元
tinytext 可變長度,最多255個字元
text 可變長度,最多65535個字元
mediumtext 可變長度,最多2的24次方-1個字元
longtext 可變長度,最多2的32次方-1個字元
date 3位元組,日期,格式:2014-09-18time 3位元組,時間,格式:08:42:30
datetime 8位元組,日期時間,格式:2014-09-18 08:42:30
timestamp 4位元組,自動儲存記錄修改的時間
year 1位元組,年份
Mysql中int M 的含義
所以int 10 與int 11 後的括號中的字元表示顯示寬度,整數列的顯示寬度與mysql需要用多少個字元來顯示該列數值,與該整數需要的儲存空間的大小都沒有關係,int型別的字段能儲存的資料上限還是2147483647 有符號型 和4294967295 無符號型 1 bytes 8 bit 乙個位...
Mysql的int(1)和int(M)的區別
mysql中我們建表的時候,型別可以用int 10 這是什麼意思呢?首先我們看 mysql的整型型別有這樣幾種 型別占用位元組 tinyint 1smallint 2mediumint 3int 4bigint 8這是決定儲存需要占用多少位元組,那麼後邊的數字 m 代表什麼意思呢?tinyint m...
MySQL中的int 11 含義
圖中的資料剛好展示了3位,和我們的int 3 中的3符合。alter table account change id id int 5 zerofill 圖中資料展示了5位,和int n 中n的值的位數是一樣的 答案是 依然會展示插入的資料,不會丟失資料 我們知道mysql中的int是佔4個位元組,...