天天看點

mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數

mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數

點選關注,我們共同每天進步一點點!

1 字元類型

   MySQL提供了多種關于字元存儲的類型,但是在大多數情況下我們隻使用char和varchar即可

2 字元集

  字元串分二進制與非二進制類型,二進制用于儲存圖檔、聲音等檔案,非二進制用于儲存文本資料。

  非二進制文本受字元集和校對規則影響。

  其實字元集說白了就是字元編碼。

2|1概念解析

  字元集(Character set)是多個字元的集合,字元集種類較多,每個字元集包含的字元個數不同。常用的字元集有GBK、BIG5、UTF8。

  UTF8字元集包含文字内容更廣,如韓文、日文、德文相容度更高,也是推薦使用的字元集(UTF8MB4)。

表不設定字元集繼承資料庫,字段不設定字元集繼承表的,是以一般我們在配置檔案中為資料庫指定字元集即可

2|2校對規則

  字元集内用于字元比較和排序的一套規則,以_ci結束的為大小寫不敏感、_bin結束的為不區分大小寫。

  當使用不區分大小寫的校對規則時A與a是相同的,否則則不相同,這會影響到排序與比對。

修改表校對規則,對表的原字段将不影響,隻對新增字段影響

3 基本定義

   對于字元類型而言,其指定寬度均為存入寬度,以字元為機關。

4 定長變長

4|1差別差異

   char是定長字元串,當存入的字元數量不足指定寬度時,将會使用進行填充。

   varchar是變長字元串,當存入的字元數類不足指定寬度時,不會使用任何字元進行填充。

   通常情況下來講,char的存取速度要比varchar要高(約50%),但是更加浪費磁盤空間。

   在InnoDB存儲引擎中,不存在這種差異。

差異詳解

#
           
mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數

由于varchar類型是變長存儲,是以需要有一個頭部來辨別真實内容占了多少字元,這個頭部通常占據1個位元組。

即存入abcd的時候算上頭部實際上是占用了5個位元組。這也是為什麼說通常情況下varchar比較節省記憶體,而不是說全部情況。

4|2差異對比

   如果要想進定長與變長的差異對比試驗,需要用到以下兩個函數。

   length():檢視位元組數

   char_length():檢視字元數

mysql>
           

   小總結:建議在同一張資料表中統一使用varchar或char類型,這裡更推薦使用char類型。

5 常用函數

5|1大小寫轉換

   upper()小寫轉大寫,lower()大寫轉小寫

mysql>
           

5|2指定量取

   left()與right()函數用于取左或右指定數量的字元

   以下将示例取左邊3個字元。

mysql>
           

5|3中間字元

   mid()從中間取字元串,參數二為指定起始位置(從1開始),參數三為取的字元數量(可不指定,一直取完)。

   以下将示範從第二個字元開始取兩個。

mysql>
           

5|4截取子串

   substring()從指定起始位置開始取出向右所有字元串,可指定結束位置。(其實我感覺這個和mid()好像沒啥差別)

mysql>
           

5|5字元長度

   char_length()可擷取字元長度,如果要擷取char類型的字元長度且包括填充空白符,需要修改sql模式。

修改sql模式:SET sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';

mysql>
           

5|6位元組長度

   length()可擷取位元組長度。

mysql>
           

5|7字元連接配接

   concat()可将多段字元進行連接配接。

   以下示例将展示一二三四五,---以及12345這三段字元的連接配接。

mysql>
           

原文位址: https://www.cnblogs.com/Yunya-Cnblogs/p/13585668.html

mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數
mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數

喜歡請關注,有用請轉發~

升職、加薪、無漏測-點“在看”

mysql分頻段存_MySQL字元類型1 字元類型2 字元集3 基本定義4 定長變長5 常用函數