mysql資料庫varchar 100 可以儲存多少個漢字

時間 2021-06-07 01:20:41

1樓:昔玉英左汝

具體還是要看版本的

4.0版本以下,varchar(100),指的是100位元組,如果存放utf8漢字時,只能存33個(每個漢字3位元組)

5.0版本以上,varchar(100),指的是100字元,無論存放的是數字、字母還是utf8漢字(每個漢字3位元組),都可以存放100個。

自己在資料庫中建個表測試下可以放多少個漢字。

示例:以5.0以上版本為例。

新建表:

create table varchar_test (

`id` int(11) not null ,

`string` varchar(20)

) engine=innodb

default character set=utf8collate=utf8_general_ci插入表

insert into varchar_test (id, string)

values (1, '一二三四五六七**十');

insert into varchar_test (id, string)

values (2, '一二三四五六七**十一二三四五六七**十');

insert into varchar_test (id, string)

values (3, '12345678901234567890');

測試結果:

1:一二三四五六七**十

2:一二三四五六七**十一二三四五六七**十

3:12345678901234567890

如果插入字元超過21個,則報錯

insert into varchar_test (id, string)

values (3, '123456789012345678901');[err] 1406 - data too long for column'string' at row 1可見mysql的varchar(n)可以儲存的中文字元數和英文本元數是一致的,都是n個字元

2樓:買桂花伍辛

4.0版本以下,varchar(50),指的是50位元組,如果存放utf8漢字時,只能存16個(每個漢字3位元組)

5.0版本以上,varchar(50),指的是50字元,無論存放的是數字、字母還是utf8漢字(每個漢字3位元組),都可以存放50個

其實最好的辦法是在自己資料庫中建個表試試可以放多少漢字,現在mysql都5.0已上了,varchar(50)是可以存50個漢字的

3樓:笪富貴真子

這個問題還真不好回答

5.0版本一前,

varchar最多支援255個

位元組(bytes)

至於漢字,還要看你表的編碼

如果是gbk編碼,就是

127個漢字字元。如果是unicode

則是255/3

這樣utf-8比較常用

也是255/3這是之前,咱們再說5.0以後5.0之後

引入了更好的字符集處理方式

導致mysql會根據不同的

編碼自動分配儲存空間的實際位元組數。

4樓:秦玉蘭掌珍

不僅要看資料庫版本,還要看資料庫表使用的編碼。

如果是utf8字符集

存放65535/3-3個漢字

存英文也一樣

如果是latin1字符集可以在65532個英文這時不能存放漢字...

通用的,一般情況下varchar(n),可儲存的漢字,數字,字母都是n個!

參考:網頁鏈結

mysql

資料庫varchar

到底可以存多少個漢字,多少個英文呢?

mysql資料庫和oracle資料庫的區別

1 體積不同。oracle它體積比較龐大,一般是用來開發大型應用 例如分布式 的。而mysql的體積相對來說比較小,較之oracle更容易安裝 維護以及管理,操作也簡單,最重要的是它是三個中唯一乙個開源資料庫,但目前也屬於oracle公司的產品了。2 容量不同。oracle容量無限,根據配置決定 而...

mysql資料庫怎樣建立表,MYsql資料庫怎樣建立表? 20

歐覓潘安然 比如要建立學生表表名為student,學生表有欄位學號 no 年齡 age create table student no int primary key 主鍵 age int 執行下就建立好了 隨便舉的例子,明白吧?謝謝採納! create database cookbook 建立一個...

MySQL資料庫千萬級資料處理,MySQL資料庫千萬級資料處理? 5

方法有三種 1,delete from a where a.欄位 not in select b.欄位 from b 2,delete from a where not exists select 1 from b where a.欄位 b.欄位 3,create table a tmp selec...