顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > MySQL培訓 > MySQL課程 > MySQL基礎教程:CHAR和VARCHAR類型

MySQL基礎教程:CHAR和VARCHAR類型

文章來源: 更新時間:2016/7/15 17:04:06

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!

我要咨詢

MySQL基礎教程:CHAR和VARCHAR類型,CHAR和VARCHAR類型是類似的,但是在他們被存儲和檢索的方式不同。 其具體的異同為:

當給定一個CHAR列的值時,其長度將被被修正為在你創建表時所聲明的長度。長度可以是1和255之間的任何值。(在MySQL 3.23中,CHAR長度可以是0~255。) 當CHAR值被存儲時,他們被用空格在右邊填補到指定的長度。當CHAR值被檢索時,拖后的空格被刪去。

在VARCHAR列中的值是變長字符串。你可以聲明一個VARCHAR列是在1和255之間的任何長度,就像對CHAR列。然而,與CHAR類型相反,VARCHAR值只存儲所需的字符,外加一個字節記錄長度,值不被填補;相反,當值被存儲時,拖后的空格被刪去。(這個空格刪除不同于ANSI SQL規范。)

如果你把一個超過列最大長度的值賦給一個CHAR或VARCHAR列,值被截斷以適合串類型。

例如,我們用下表來說明存儲一系列不同的串值到CHAR(4)和VARCHAR(4)列的結果:

表1-7 CHAR類型和VARCHAR類型的對比

CHAR(4)

存儲需求

VARCHAR(4)

存儲需求

''

'    '

4字節

''

1字節

'ab'

'ab  '

4字節

'ab'

3字節

'abcd'

'abcd'

4字節

'abcd'

    5字節

'abcdefgh'

'abcd'

4字節

'abcd'

    5字節

雖然實際存儲的值并不一樣,但是查詢時,這兩種類型是一致的,因為CHAR(4)類型多于的空格將被忽略。

需要注意的是,除了少數情況外,在同一個表中不能混用 CHAR 和 VARCHAR這兩種類型,你只能使用其中之一。如果你創建表時,包括這兩種類型,在一般情況下,MySQL 會將列從一種類型轉換為另一種類型。這樣做的原因如下:

行定長的表比行可變長的表容易處理,效率更高。

只有所有的類型是定長時,行才是定長的,才能提高性能。

有時為了節省存儲空間,使用了變長類型,在這種情況下最好也將定長列轉換為可變長列。

這表示,如果表中有 VARCHAR 列,那么表中不可能同時有 CHAR 列;MySQL 會自動地將它們轉換為 VARCHAR 列。

轉換的規則:

長度小于4的VARCHAR被改變為CHAR。

如果在一個表中的任何列有可變長度,結果是整個行是變長的。因此, 如果一張表包含任何變長的列(VARCHAR、TEXT或BLOB),所有大于3個字符的CHAR列被改變為VARCHAR列。

例如,我們創建下面一個表:

CREATE TABLE ch_type

(

ch1 char(3),

ch2 varchar(3),

ch3 char(4),

ch4 varchar(4)

)

然后查看表的結構:

DESCRIBE ch_type

在MySQL3.23上結果為:

+-------+---------------+
| Field | Type       |
+-------+---------------+
| ch1   | char(3)     |
| ch2   | char(3)     |
| ch3   | varchar(4)  |
| ch4   | varchar(4)  |
+-------+---------------+
本文地址:http://www.mudan321.com/mysql/kecheng/12482309620.html 轉載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業一幫到底)

入學

學習

就業

實操

食宿
地址:北京市海淀區田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業服務:137 1818 8639(陳經理)
部分信息來源于網絡,如有錯誤請聯系指正!
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1