首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 大小寫敏感查詢:BINARY、COLLATE 與建表設定三法

     編輯:MySQL 綜合教學

預設:大小寫不敏感 (ci 校對規則)

SELECT * FROM t WHERE col LIKE 'a%';  -- 匹配 'a', 'A', 'Abc'...

三種啟用大小寫敏感方法

  1. 查詢級:BINARY 關鍵字
    SELECT * FROM t WHERE BINARY col LIKE 'a%';
    強制字節級比較,'a' ≠ 'A'。
  2. 欄位級:建表指定 BINARY/校對規則
    CREATE TABLE t (col VARCHAR(20) BINARY);
    或 COLLATE utf8mb4_bin (或 utf8_bin),永久生效。
  3. 伺服器級:my.cnf 設定預設校對規則
    [mysqld]
    collation_server = utf8mb4_bin

    影響新建表預設,舊表不變。

校對規則命名規則

  • _ci = Case Insensitive (不敏感)
  • _cs = Case Sensitive (敏感)
  • _bin = Binary (按字節碼比較,最嚴格)

效能提示

  • BINARY col 導致索引失效 (函數包裹),大表慎用。
  • 欄位級 COLLATE ..._bin 可正常使用索引。
  • 中文環境建議 utf8mb4_0900_as_cs (8.0) 或 utf8mb4_bin,兼顧大小寫與重音敏感。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved