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

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

區(qū)別MySQL字段內(nèi)容大小寫講解

下文內(nèi)容主要給大家?guī)韰^(qū)別MySQL字段內(nèi)容大小寫講解,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的色尼網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

數(shù)據(jù)由Oracle 遷入MySQL ,由于之前Oracle區(qū)分大小寫,MySQL的配置使用了默認配置,導(dǎo)致一些數(shù)據(jù)導(dǎo)入失敗,有的唯一鍵報錯,沖突。

將測試過程記錄在下面。

數(shù)據(jù)庫版本:MySQL 5.7.11

引用他人博客中內(nèi)容:

校對規(guī)則一般有這些特征:

  • 兩個不同的字符集不能有相同的校對規(guī)則。

  • 每個字符集有一個默認校對規(guī)則。例如,utf8默認校對規(guī)則是utf8_general_ci。

  • 存在校對規(guī)則命名約定:它們以其相關(guān)的字符集名開始,通常包括一個語言名,并且以_ci(大小寫不敏感)、_cs(大小寫敏感)或_bin(二元)結(jié)束。

查看支持的校驗規(guī)則:

區(qū)別MySQL字段內(nèi)容大小寫講解

mysql> SHOW COLLATION like 'utf8%';
+--------------------------+---------+-----+---------+----------+---------+
| Collation                | Charset | Id  | Default | Compiled | Sortlen |
+--------------------------+---------+-----+---------+----------+---------+
| utf8_general_ci          | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8    | 192 |         | Yes      |       8 |
...
| 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 |
查看本地的校驗規(guī)則:
mysql> show global variables like '%coll%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_unicode_ci |
| collation_database   | utf8mb4_unicode_ci |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+

生產(chǎn)中數(shù)據(jù)庫使用的編碼為utf8mb4, 校驗規(guī)則為 utf8mb4_unicode_ci,對大小寫不敏感

如果需要大小寫敏感,需要將排序規(guī)則修改為utf8mb4_bin.

測試后結(jié)果:修改數(shù)據(jù)庫配置后,不會對已經(jīng)存在的表造成影響,如要生效需要修改特定列的排序規(guī)則。優(yōu)先級大概是這樣:列>表>數(shù)據(jù)庫>云服務(wù)器

有兩種方法使查詢區(qū)分大小寫:

  • 第一種方法為修改列級別的校驗規(guī)則為utf8mb4_bin

T表

CREATE TABLE `T` (
  `name` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
mysql> select * from T;
+------+
| name |
+------+
| YOU  |
| You  |
| you  |
| you  |
| yOU  |
+------+

T2表:將列校對規(guī)則修改為utf8mb4_bin

CREATE TABLE `T2` (
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
mysql> select * from T2;
+------+
| name |
+------+
| yOU  |
| you  |
+------+

查詢:

T:(未區(qū)分大小寫)

mysql> select * from T where name = 'you';
+------+
| name |
+------+
| YOU  |
| You  |
| you  |
| you  |
| yOU  |
+------+

T2:(已經(jīng)區(qū)分大小寫)

mysql> select * from T2 where name = 'you';
+------+
| name |
+------+
| you  |
+------+
  • 第二種方法:  不修改配置,表結(jié)構(gòu),而使用如下的查詢語句:

T:(未修改表)

mysql> select * from T where name = binary'you';
+------+
| name |
+------+
| you  |
| you  |
+------+

對于以上關(guān)于區(qū)別MySQL字段內(nèi)容大小寫講解,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。

 


本文名稱:區(qū)別MySQL字段內(nèi)容大小寫講解
網(wǎng)頁地址:http://weahome.cn/article/jjgidd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部