mysql 資料庫中資料類的長度的解釋

2021-07-31 09:06:33 字數 783 閱讀 4478

問題:定義資料庫表時為什麼要有字段長度這個選項,資料型別本身不就是有範圍的嗎?

字段長度的單位是什麼啊?位元組?

比如我定義了個int型的字段,int本身4個位元組,但是我選擇字段長度10,這不是矛盾嗎?

如果不指定長度,資料庫在儲存的時候都必須給每個字段預留最大的儲存空間,這樣極大的浪費了空間,也加大了資料庫本身管理的難度。

如 varchar2.假如最大長度為4800,如果不指定長度,每個欄位都必須預留這麼大的空間(包括有些只能用的極少空間的字段),這樣極大的浪費了資源,對資料庫本身而言也增加了管理資源。

其實就是一句話:用多少,申請多少。你不覺得這樣更節約嗎?  

問題:

這裡字段長度的單位是位元組吧,比如在mysql中int預設是4個位元組,能表示2^32範圍的數,

我宣告乙個int型字段,卻在括號裡寫10或100,反正就是超過4的乙個值,怎麼執行時資料庫不會報錯?

指定的長度不應該超過該型別的最大長度吧,是不是這道理?

還有個問題:int(10)是表示值的大小不超過10個位元組所表示範圍,還是字元位數不超過10個?比如23313這個值只有5位         所謂的字段長度是設定的位元組數還是字元位數?  

位元組

那麼乙個中文佔幾個位元組呢?

乙個英文本母(不分大小寫)佔乙個位元組的空間,乙個中文漢字佔兩個位元組的空間.

符號:英文標點2佔乙個位元組,中文標點佔兩個位元組.

不同的編碼裡面漢字長度是不同的,

國家標準gb2312: 乙個漢字=2個位元組

utf-8:乙個漢字=3個位元組

mysql資料庫類 MySQL資料庫類的定義

俗話說 好的開始是成功的一半 而php mysql專案中資料庫的操作是重點之一,能否簡化資料庫操作程式的編寫,就成了影響工作效率的關鍵之一。所以小陽並不是一開始就做頁面,而是先建立乙個 dbclass.php 檔案,開始編寫操作mysql資料庫的類 dbclass 即在 dbclass.php 中編...

Mysql資料庫中資料型別的長度是什麼

在mysql中新建資料表的時候會有長度一說,其實用建表語句建資料表的時候也有涉及 例如 create table user uid int 4 name varchar 255 passward varchar 20 birthday data 不知道你有沒有注意這個資料型別後面的括號有什麼玄機,今...

mysql資料庫中的 MySQL資料庫中定義

定義資料表 假如某個電腦生產商,它的資料庫中儲存著整機和配件的產品資訊。用來儲存整機產品資訊的表叫做pc 用來儲存配件供貨資訊的表叫做parts。在pc表中有乙個字段,用來描述這款電腦所使用的cpu型號 在parts表中相應有乙個字段,描述的正是cpu的型號,我們可以把它想成是全部cpu的型號列表。...