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...