mysql中的資料型別varchar 255 表示什麼意思

2021-04-10 12:56:46 字數 3179 閱讀 3767

1樓:天剎志俑渡廄

char是一種固定長度的型別,varchar則是一種可變長度的型別,它們的區別是: char(m)型別的資料列裡,每個值都佔用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足.(在檢索操作中那些填補出來的空格字元將被去掉)在varchar(m)型別的資料列裡,每個值只佔用剛好夠用的位元組再加上一個用來記錄其長度的位元組(即總長度為l+1位元組). varchar(255)表示最大長度是255的可變字元型別

mysql中的資料型別varchar(255)表示什麼意思?麻煩告訴我

2樓:東牆8俈

呵呵,在mysql資料庫裡,使用varchar型別比較常見。

用char的幾乎不多。

3樓:柔桂花扶庚

char是一種固定長度

的型別,varchar則是一種可變長度的型別,它們的區別是:

char(m)型別的內資料列清塵裡,每個值容都佔用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足.(在檢索操作中那些填補出來的空格字元將被去掉)在varchar(m)型別的資料列裡,每個值只佔用剛好夠用答亮禪的位元組再加上一個用來記錄其長度鍵裂的位元組(即總長度為l+1位元組).

varchar(255)表示最大長度是255的可變字元型別

mysql 我定義了一個欄位為 varchar(255)我想把長度改的大一點,怎麼弄??

4樓:匿名使用者

varchar的最大實際長度由最長的行的大小和使用的字符集確定。最大拿返有效長度是65,532位元組

如果unicode字元由2個位元組表示,則芹殲編碼成utf-8很可能需要3個位元組

varchar(21845)消首飢 裡面 21845 * 3 = 65535. 超過了 65532位元組的上限。

5樓:嘿呦我來也

如果長度 大於varchar(8000), 建議槐咐 你直接用text的 varchar也是擾橋有長度限鉛李純制的 varchar(n) n範圍是 0

mysql varchar()最大能定義多少,varchar(2000)正確嗎

6樓:仙人掌的憂傷

mysql5.0版本以前,varchar()最大能定義255。5.

0以上版本支百持65535位元組長度,utf8編碼下最多支援21843個字元度(不為空)。mysql5.0版本以前,varchar(2000)不正確,5.

0以上版本正確。

如果某個資料列裡包含許多重複的值,就算為它建立了索引也不會有很好的效果。比如說,如果某個資料列裡包含的淨是些諸如 「0/1」 或 「y/n」 等值,就沒有必要為它建立一個索引。

7樓:少年真奇妙

就中文漢字來說,utf8佔3個位元組 ,gbk佔2個位元組。varchar(n),這裡的n代表n個字元。

mysql表中欄位總長度可以有65535個位元組,意思就是 如果一個表只有varchar(n)這麼一個欄位,而且是utf8的話,那麼這個欄位最大可以有65535個位元組的長度,差不多n=65585/3的字元。

為什麼說差不多。因為varchar在儲存的時候,會另加一個位元組來記錄長度(如果列宣告的長度超過255位元組,則使用兩個位元組,剛好2的8次方是255,超過255就只能用2個位元組16位來記錄了)。

如果表中有個char(10)和varchar(n)的話,那麼就就這樣,n的最大值=65535-10*3,我是這麼算的, 雖然最後差1-2個位元組,不過不用這麼在意吧?除非你有強迫症。呵呵!

英文的話 兩種都是一個字母是1個位元組。能放多少個可以自己測試的,其中的編碼知識,值得研究,但是不值得深究,我感覺太鑽牛角尖了。

解決你的問題應該沒難度了,char最大才是255個字元,不論什麼編碼。

varchar(255),能存放多少還要看這個表中其他欄位佔掉多少的長度,和編碼格式,才能算出來,我上面已經給出演算法過程了。你慢慢理解。

我的傳送門

8樓:匿名使用者

varchar 在5.03以前長度可以為0~255, 之後是65535

varchar(2000)正確

varchar(255) 大概可以存255位元組的字串, 中英文佔位不同, 字元數也不同

9樓:匿名使用者

你不會檢視mysql手冊嗎?每個變數的範圍不會查嗎?

10樓:匿名使用者

varchar255不是這個意思....你真的要去看看基礎基礎

資料庫中varchar(500)是什麼意思?

11樓:匿名使用者

500是指500個char,一個char一個位元組,一個漢字兩個位元組,ascii的英文字母一個一個位元組。

var是可變的意

思,就是說如果存了250個位元組資料,就只佔250個位元組,而不是不論存多少資料都分配500位元組

12樓:匿名使用者

varchar(n) 長度為 n 個位元組的可變長度且非 unicode 的字元資料。n 必須是一個介於 1 和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。

13樓:

可變資料型別.最大500個字元.

sql中varchar(50)代表什麼?

14樓:有種慵懶叫

1、varchar(50)表示的是設定可以儲存的最大字串長度為50個位元組,並且字元是變長的,如果不滿50個就是根據實際儲存的位元組來確定的。

2、varchar:可變長度,儲存ansi字元,根據資料長度自動變化。

3、varchar是資料型別為字元型,50表示的是最大字元長度。

sqlserver中varchar最大長度是8000,但是可以使用varchar(max),可以達到2g。

關於解釋:有var字首的,表示是實際儲存空間是變長的,varchar,nvarchar。

所謂定長就是長度固定的,當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字元資料則不會以空格填充,比較例外的是,text儲存的也是可變長。

西門子plc資料型別,西門子PLC資料型別

西門子plc程式設計基礎之資料型別入門學習 上 bool 布林量 就是開關量 只有 0,1 byte 位元組 word 字 16位整 e69da5e6ba9062616964757a686964616f31333337616565數 dword 雙字 32位整數 int 帶符號16位整數 dint ...

vfp中,資料型別函式「type函式」中輸出的「U」是什麼意思

未定義或者未知的資料型別 表示未定義,就是此變數沒有定義 type是型別的意思!是啥語言的?c?basic putback,功能是將 字元加入到該物件對應的stream 流 中。是流物件的成員函式。對stream的 vfp的type函式 type m m 是一個變數 type m m 才是一個字元常...

c語言資料型別問題

原因有兩個 1.a b 6 是因為你的計算是在編譯器遇到 unsigned int 和 int 的計算時,自動將 int 轉為 unsigned int 處理 a b 就會是無符號的整形數字,a b 6 就會返回真值 true,執行 printf 6 2.printf n d a b 是因為是用格式...