溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

MySQL數(shù)據(jù)類(lèi)型--------字符串類(lèi)型實(shí)戰(zhàn)

發(fā)布時(shí)間:2020-05-14 15:23:04 來(lái)源:網(wǎng)絡(luò) 閱讀:1412 作者:asd1123509133 欄目:MySQL數(shù)據(jù)庫(kù)

1. 背景

  * MySQL支持的字符串類(lèi)型有CHAR、VARCHAR、二進(jìn)制、var二進(jìn)制、BLOB、文本等等。


2. 字符串類(lèi)型所需的存儲(chǔ)和值范圍

類(lèi)型
說(shuō)明N的含義是否有字符集最大長(zhǎng)度
CHAR(N)定義字符字符255
VARCHAR(N)變長(zhǎng)字符字符16384
BINARY(N)定長(zhǎng)二進(jìn)制字節(jié)字節(jié)255
VARBINARY(N)
變長(zhǎng)二進(jìn)制字節(jié)字節(jié)16384
TINYBLOB
二進(jìn)制大對(duì)象字節(jié)256
BLOB
二進(jìn)制大對(duì)象字節(jié)16K
MEDIUMBLOB
二進(jìn)制大對(duì)象字節(jié)

16M

LONGBLOB
二進(jìn)制大對(duì)象字節(jié)4G
TINYTEXT
大對(duì)象字節(jié)256
TEXT
大對(duì)象字節(jié)16K
MEDUIMBLOB
大對(duì)象字節(jié)16M
LONGTEXT
大對(duì)象字節(jié)4G


3. 定義與變長(zhǎng)區(qū)別 (CHAR VS VARCHAR)

CHAR(4)占用空間VARHCAR(4)占用空間
'''    '4 bytes''1 bytes
'ab''ab  '4 bytes'ab'3 bytes
'abcd''abcd'4 bytes'abcd'5 bytes
'abcdefgh'
'abcd'4 bytes'abcd'5 bytes


4. 字符串類(lèi)型相關(guān)注意事項(xiàng)

   * 在BLOB和TEXT列上創(chuàng)建索引時(shí),必須制定索引前綴的長(zhǎng)度

   * VARCHAR和VARBINARY必須長(zhǎng)度是可選的

   * BLOB和TEXT列不能有默認(rèn)值

   * BLOB和TEXT列排序時(shí)只使用該列的前max_sort_length個(gè)字節(jié)

mysql> show variables like 'max_sort_length';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_sort_length | 1024  |
+-----------------+-------+
1 row in set (0.01 sec)


5. 字符串類(lèi)型與排序規(guī)則

  * 查看字符串相關(guān)信息 [ Default collation: 默認(rèn)排序規(guī)則 ]

mysql> show character set like 'utf8mb4';
+---------+---------------+--------------------+--------+
| Charset | Description   | Default collation  | Maxlen |
+---------+---------------+--------------------+--------+
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci |      4 |
+---------+---------------+--------------------+--------+
1 row in set (0.01 sec)

  * 查看utfmb4所有排序規(guī)則

mysql> show collation like 'utf8mb4%';
+------------------------+---------+-----+---------+----------+---------+
| Collation              | Charset | Id  | Default | Compiled | Sortlen |
+------------------------+---------+-----+---------+----------+---------+
| utf8mb4_general_ci     | utf8mb4 |  45 | Yes     | Yes      |       1 |
| utf8mb4_bin            | utf8mb4 |  46 |         | Yes      |       1 |
| utf8mb4_unicode_ci     | utf8mb4 | 224 |         | Yes      |       8 |
| utf8mb4_icelandic_ci   | utf8mb4 | 225 |         | Yes      |       8 |
| utf8mb4_latvian_ci     | utf8mb4 | 226 |         | Yes      |       8 |
| utf8mb4_romanian_ci    | utf8mb4 | 227 |         | Yes      |       8 |
| utf8mb4_slovenian_ci   | utf8mb4 | 228 |         | Yes      |       8 |
| utf8mb4_polish_ci      | utf8mb4 | 229 |         | Yes      |       8 |
| utf8mb4_estonian_ci    | utf8mb4 | 230 |         | Yes      |       8 |
| utf8mb4_spanish_ci     | utf8mb4 | 231 |         | Yes      |       8 |
| utf8mb4_swedish_ci     | utf8mb4 | 232 |         | Yes      |       8 |
| utf8mb4_turkish_ci     | utf8mb4 | 233 |         | Yes      |       8 |
| utf8mb4_czech_ci       | utf8mb4 | 234 |         | Yes      |       8 |
| utf8mb4_danish_ci      | utf8mb4 | 235 |         | Yes      |       8 |
| utf8mb4_lithuanian_ci  | utf8mb4 | 236 |         | Yes      |       8 |
| utf8mb4_slovak_ci      | utf8mb4 | 237 |         | Yes      |       8 |
| utf8mb4_spanish3_ci    | utf8mb4 | 238 |         | Yes      |       8 |
| utf8mb4_roman_ci       | utf8mb4 | 239 |         | Yes      |       8 |
| utf8mb4_persian_ci     | utf8mb4 | 240 |         | Yes      |       8 |
| utf8mb4_esperanto_ci   | utf8mb4 | 241 |         | Yes      |       8 |
| utf8mb4_hungarian_ci   | utf8mb4 | 242 |         | Yes      |       8 |
| utf8mb4_sinhala_ci     | utf8mb4 | 243 |         | Yes      |       8 |
| utf8mb4_german2_ci     | utf8mb4 | 244 |         | Yes      |       8 |
| utf8mb4_croatian_ci    | utf8mb4 | 245 |         | Yes      |       8 |
| utf8mb4_unicode_520_ci | utf8mb4 | 246 |         | Yes      |       8 |
| utf8mb4_vietnamese_ci  | utf8mb4 | 247 |         | Yes      |       8 |
+------------------------+---------+-----+---------+----------+---------+
26 rows in set (0.00 sec)

  * 修改默認(rèn)排序規(guī)則

mysql> set names utf8mb4 collate utf8mb4_bin;
Query OK, 0 rows affected (0.00 sec)

mysql> show character set like 'utf8mb4';
+---------+---------------+--------------------+--------+
| Charset | Description   | Default collation  | Maxlen |
+---------+---------------+--------------------+--------+
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci |      4 |
+---------+---------------+--------------------+--------+
1 row in set (0.00 sec)


6. 總結(jié)


以需求驅(qū)動(dòng)技術(shù),技術(shù)本身沒(méi)有優(yōu)略之分,只有業(yè)務(wù)之分。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI