Mariadb----字符類型 (五)

MYSQL數據類型----字符串類型mysql

能夠使用命令查看常見編碼所佔字節數:sql

MariaDB [(none)]> SHOW CHARACTER SET;數據庫

 

查看默認字符: SHOW VARIABLES LIKE 'character%';,發現數據庫編碼均已改爲utf8性能

1. utf8編碼一個字符佔3個字節;編碼

2. gbk編碼一個字符佔2個字節;3d

3. latin1編碼一個字符佔1個字節。code

更改某個字段的字符集: VARCHAR(20) character set utf8;blog

更改數據庫的字符集: CREATE DATABASE 數據庫名 character set utf8;;ip

 

char(M) 與 varchar(M) 的理解能夠參考int(M). varchar(n) 表示n個字符,不管漢字和英文,MySql都能存入 n 個字符,僅實際字節長度有所區別。字符串

 

varchar

(1)保存可變長字符串。

    理解:比固定長度佔用更少的存儲空間,由於它只佔用本身須要的空間。例外狀況:使用ROW_FORMAT=FIXED建立的MyISAM表,它爲每行使用固定長度的空間,可能會形成浪費。

(2)存儲長度信息。

    若是定義的列小於或等於255,則使用1個字節存儲長度值,假設使用latin1字符集,如varchar(10)將佔用11個字節的存儲空間。反過來,varchar(1000),則佔用1002個字節的存儲空間。

(3)節約空間,對性能有幫助。

(4)5.0版本以上,不管是取值仍是保存,MySQL都會保留字符串末尾的空格。

(5)對於變長字段如varchar,mysql會用額外的字節來存儲字符長度,255個字符之內用1個字節存,多於255個字符用2字節存;

相關文章
相關標籤/搜索