真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql漢字用的類型是什么

本篇內(nèi)容主要講解“MySQL漢字用的類型是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql漢字用的類型是什么”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了阜南免費(fèi)建站歡迎大家使用!

在mysql中,漢字可以用CHAR和VARCHAR類型。CHAR和VARCHAR類型聲明的長度表示用戶想要保存的最大字符數(shù)?!癈HAR(M)”為固定長度字符串,在定義時指定字符串列長;M表示列的長度,范圍是“0~255”個字符。“VARCHAR(M)”是長度可變的字符串,M表示最大列的長度,范圍是“0~65535”。

mysql定義漢字存儲類型

mysql手冊上說:

在MySQL 5.x版本中,CHAR和VARCHAR類型聲明的長度表示你想要保存的最大字符數(shù)。例如,CHAR(30)可以占用30個字符。GBK內(nèi)碼的情況下,一個漢字占兩個字節(jié),但是在UTF-8內(nèi)碼的情況下,一個漢字需要占用三個字節(jié)。

什么是字符?

百度百科里說:

字符是指計算機(jī)中使用的字母、數(shù)字、字和符號,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。1個漢字字符存儲需要2個字節(jié),1個英文字符存儲需要1個字節(jié),2個數(shù)字為一個字節(jié)。例如在VB中求字符串的長度時,len(str(1234))=4,len(1234)=2。

字符是可使用多種不同字符方案或代碼頁來表示的抽象實(shí)體。例如,Unicode UTF-16 編碼將字符表示為 16 位整數(shù)序列,而 Unicode UTF-8 編碼則將相同的字符表示為 8 位字節(jié)序列。公共語言運(yùn)行庫使用 Unicode UTF-16(Unicode 轉(zhuǎn)換格式,16 位編碼形式)表示字符。

針對公共語言運(yùn)行庫的應(yīng)用程序使用編碼將字符表式形式從本機(jī)字符方案映射至其他方案。應(yīng)用程序使用解碼將字符從非本機(jī)方案映射至本機(jī)方案。

電腦和通訊設(shè)備會使用字符編碼的方式來表達(dá)字符。意思是指,會將一個字符指定給某個東西。傳統(tǒng)上,是代表整數(shù)量的位元序列,如此,則可透過網(wǎng)絡(luò)來傳輸,同時亦便于儲存。兩個常用的例子是ASCII和用于統(tǒng)一碼的UTF-8。根據(jù)谷歌的統(tǒng)計,UTF-8是目前最常用于網(wǎng)頁的編碼方式。[1]相較于大部分的字符編碼把字符對應(yīng)到數(shù)字或位元串,摩斯密碼則是使用不定長度的電子脈沖的序列來表現(xiàn)字符。

什么是字節(jié)?

字節(jié),英文名稱是Byte。Byte是Binary Term的縮寫。一個字節(jié)代表八個比特(bit)。它是通常被作為計算機(jī)信息計量單位,不論被存儲數(shù)據(jù)的類型為何。它也是程序設(shè)計語言里不可缺少的基本數(shù)據(jù)類型——整數(shù)。

Byte(字節(jié))可被縮寫成B,例如MB表示Megabyte;Bit(比特)可被縮寫成b,例如Mb表示Megabit。

那么如果我們想定義最大能存儲10個漢字的字段,該怎么定義呢?

有了上面的說明,應(yīng)該很明了了char(10)或者varchar(10)。我們來驗(yàn)證一下:

CREATE TABLE `t1` (
 `str` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

向表中插入下列數(shù)據(jù):

insert  into `t1`(`str`) values ('一二三四五六七八九十');
insert  into `t1`(`str`) values ('一二三四五六七八九十十一');
insert  into `t1`(`str`) values ('abcdefghijklmnopqrst');
insert  into `t1`(`str`) values ('1234567890123456');

我們來查看下結(jié)果:

mysql漢字用的類型是什么

由此可以印證上面說的內(nèi)容,而且如果超出了定義的范圍,mysql會自動截短,我們在實(shí)際應(yīng)用中應(yīng)該注意。

CHAR 和 VARCHAR 類型

CHAR(M) 為固定長度字符串,在定義時指定字符串列長。當(dāng)保存時,在右側(cè)填充空格以達(dá)到指定的長度。M 表示列的長度,范圍是 0~255 個字符。

例如,CHAR(4) 定義了一個固定長度的字符串列,包含的字符個數(shù)最大為 4。當(dāng)檢索到 CHAR 值時,尾部的空格將被刪除。

VARCHAR(M) 是長度可變的字符串,M 表示最大列的長度,M 的范圍是 0~65535。VARCHAR 的最大實(shí)際長度由最長的行的大小和使用的字符集確定,而實(shí)際占用的空間為字符串的實(shí)際長度加 1。

例如,VARCHAR(50) 定義了一個最大長度為 50 的字符串,如果插入的字符串只有 10 個字符,則實(shí)際存儲的字符串為 10 個字符和一個字符串結(jié)束字符。VARCHAR 在值保存和檢索時尾部的空格仍保留。

【實(shí)例】下面將不同的字符串保存到 CHAR(4) 和 VARCHAR(4) 列,說明 CHAR 和 VARCHAR 之間的差別,如下表所示。

插入值CHAR(4)存儲需求VARCHAR(4)存儲需求
' ''    '4字節(jié)''1字節(jié)
'ab''ab  '4字節(jié)'ab'3字節(jié)
'abc''abc '4字節(jié)'abc'4字節(jié)
'abcd''abcd'4字節(jié)'abcd'5字節(jié)
'abcdef''abcd'4字節(jié)'abcd'5字節(jié)

到此,相信大家對“mysql漢字用的類型是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


當(dāng)前題目:mysql漢字用的類型是什么
本文網(wǎng)址:http://weahome.cn/article/pogioi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部