mysql中varchar可以存多少漢字

2021-04-10 12:56:46 字數 2259 閱讀 4770

1樓:家鏌詞

首先要確定

來mysql版本

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

5.0版本以上,

daovarchar(50),指的是50字元,無論存放的是數字、字母還是utf8漢字(每個漢悄衡笑字3位元組),都可以存放50個

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

2樓:路路通

漢字長度與編碼有關

mysql 5.0 以上的版本:

1、一個漢字佔多少長告啟度與編攜友譽碼有關:

utf-8:一專個漢字 = 3個位元組,

屬英文是一個位元組

gbk: 一個漢字 = 2個位元組,英文是一個位元組2、varchar(n) 表示n個字元,無論辯段漢字和英文,mysql都能存入 n 個字元,僅實際位元組長度有所區別。

3、mysql檢查長度,可用sql語言。

mysql 資料庫varchar(100)可以儲存多少個漢字,多少個數字

3樓:匿名使用者

具體還是要看版本的

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

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

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

新建表:

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個字元

4樓:匿名使用者

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

如果是utf8字符集 存放65535/3-3個漢字 存英文也一樣 如果是latin1字符集可以在65532個英文 這時不能存放漢字...

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

參考:網頁連結

mysql 資料庫 varchar 到底可以存多少個漢字,多少個英文呢?

5樓:匿名使用者

漢字50,

字母數字100

自己測試下不就好了,,,

create table test(id varchar(1))insert into test(id)

select '我'

select 'a'

select '1'

mysql 資料庫varchar可以儲存多少個漢字和多少個數字?

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

varchar的最大實際長度由最長的行的大小和使用的字符集確定。最大拿返有效長度是65,532位元組 如果unicode字元由2個位元組表示,則芹殲編碼成utf 8很可能需要3個位元組 varchar 21845 消首飢 裡面 21845 3 65535.超過了 65532位元組的上限。如果長度 大...

oracle資料庫中varchar2 50 char和v

50相當於50byte,是按位元組計汪雹宴數,50char是按字元計數。對於多位元組字元 如漢字 varchar2 50 僅能儲存肆氏25個困銀漢字,而varchar2 50char 能儲存50個漢字。varchar2 50 char 這種copy型別的欄位最扮衝寬多放bai50個字元,不夠50個用...

mysql中,查詢一般有哪些,mysql中,怎樣查詢一個表中有多少記錄!

單表查詢 查詢全部欄位資料 select from tablename 查詢某欄位 一列 的值 select column name from tablename where條件查詢 select column name frome tablename where 表示式 查詢條件,eg id 1 ...