MySql 建立表的時候,欄位大小是什麼意思

2021-03-11 00:02:07 字數 576 閱讀 7024

1樓:天天不看

在mysql資料復庫中,我們建表時經制常使用int(m) 的樣子,比如mysql 預設int(11)。

那麼這裡的m代表的是什麼意思呢,位元組嗎?

顯然不是,我們都知道,int型別佔4個位元組(byte) 。當我們定義為int(1)時,照樣可以存入int範圍內的任意數值。

查詢官網可以知道,這裡的m指最大顯示寬度,且最大有效顯示寬度是255。

當我們寫入int(1)時,照樣可以存入該型別範圍內的任意數值,且能完全顯示出來。

那麼問題來了,官網不是說是最大顯示寬度嗎?那為什麼當我們顯示寬度寫1時,它卻仍能顯示1位以上的數呢?

我推測當欄位型別為數值時,設定m其實是在告訴資料庫,我們預設該欄位寬度是m,用來方便資料庫做優化之類的東西,因為數值型都有其數值範圍,所以在我們想存入超過m寬度的數值時,資料庫會擴充套件欄位空間來儲存。

當我們為char型指定m寬度時,它又是怎麼一回事呢?

當我們將c定義為char(2)時,無論我們寫入多少個字元,最多隻能顯示2個字元。

2樓:狐墨涼介

就是欄位的空間大小 能放多少個字元

mysql資料庫查詢欄位屬性即表結構的sql語句怎

show full columns from mydb.mytable 修改庫名和 表名 string sql sql select from 名 where 可選,加一些限定 比如id 10 你想問的是這個麼?desc mydb.mytable 這樣可以不?更詳細的,可以用show full co...

在mysql資料庫表後的某欄位值為這個欄位本身的值 前面的ID號。需要用UPDATE怎麼做

update a inner join select yy from b c set a.xx concat c.yy,id 就是要先select 到原欄位內容,再concat上id。mysql的update裡不能直接select子查詢,所以要inner join。這個是批量的,你要單條的再加上wh...

怎麼得到mysql表裡的欄位數量

方法一,在你的程式中直接 desc tablename 然後總行數就是你的欄位數。方法二,通過系統表information schema.columns mysql5以上版本支援 樓主,我半年前問過這個問題,沒想到還有真人再問,呵呵 仔細看吧 咱倆問的一模一樣 select id,name,pass...