MySQL字段值如何區(qū)分大小寫問題
MySQL字段值如何區(qū)分大小寫
注意:設(shè)置的是字段值區(qū)分大小寫
1. 查詢時指定大小寫敏感,加關(guān)鍵字‘BINARY’
(1)刪表,建表,新增數(shù)據(jù)
drop table binary_test; CREATE TABLE binary_test ( `id` INT unsigned PRIMARY key NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into binary_test (name) values ('QWERTY'); insert into binary_test (name) values ('qwerty');
(2)測試數(shù)據(jù)
①查詢小寫字母
select * from binary_test where name ='qwerty';
②查詢大寫字母
select * from binary_test where binary name ='QWERTY';
2. 定義表結(jié)構(gòu)時指定字段大小寫敏感 關(guān)鍵字“BINARY
”指定guid
字段大小寫敏感
drop table binary_test; CREATE TABLE binary_test ( `id` INT unsigned PRIMARY key NOT NULL AUTO_INCREMENT, `name` varchar(255) BINARY NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into binary_test (name) values ('QWERTY'); insert into binary_test (name) values ('qwerty');
注意 name字段使用binary修飾了。
select * from binary_test where name ='qwerty';
3. 修改排序規(guī)則(COLLATION)
show variables like ‘collation_database';
Collation
以 “_ci
"結(jié)尾的不區(qū)分大小寫(ci——Case Ignore),以”_bin
"或者"_cs
"結(jié)尾的區(qū)分大小寫
將Collation
改為 utf8_bin
(大小寫敏感的)
可以為庫、表、列指定Collation。
優(yōu)先級為 列>表>庫
CREATE DATABASE sys_userCOLLATE utf8_bin; ALTER TABLE sys_userDEFAULT CHARACTER SET=utf8 COLLATE=utf8_bin; ALTER TABLE sys_user MODIFY COLUMN username varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
ALTER TABLE sys_user MODIFY COLUMN username VARCHAR(255) BINARY
MySql查詢區(qū)分大小寫
在mysql中,可以利用select查詢語句配合binary關(guān)鍵字來區(qū)分大小寫,select語句用于查詢數(shù)據(jù),binary關(guān)鍵字用于區(qū)分大小寫,語法為“select * from 表名 WHERE binary 字段=字段值”。
select count(*) from ct_brand_info where binary brand_abbr = 'NA'
在SQL語句中,BINARY關(guān)鍵字用于進行二進制比較。當你使用BINARY關(guān)鍵字時,數(shù)據(jù)庫會以二進制方式比較所有的字符串,包括大小寫。
在你的示例中,SELECT COUNT(*) FROM ct_brand_info WHERE BINARY brand_abbr =
'NA’的目的是計算在ct_brand_info表中,brand_abbr列中等于’NA’的記錄數(shù)。
使用BINARY的關(guān)鍵字在這里有兩方面的影響
1.大小寫敏感性:BINARY使比較區(qū)分大小寫。這意味著它不僅會匹配完全等于’NA’的字符串,還會匹配等于’na’或’Na’等其他大小寫組合的字符串。
2.二進制比較:BINARY將字符串轉(zhuǎn)換為二進制格式進行比較。這使得比較更精確,因為它考慮了每個字符的二進制表示。
總結(jié)起來,BINARY關(guān)鍵字在你的SQL查詢中的作用是使字符串比較區(qū)分大小寫并使用二進制格式進行比較。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL 百萬級分頁優(yōu)化(Mysql千萬級快速分頁)
MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考這個問題還是從前天開始。有過痛苦有過絕望,到現(xiàn)在充滿信心2012-11-11MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解
這篇文章主要介紹了MySQL的雙寫緩沖區(qū)Doublewrite Buffer詳解,InnoDB是MySQL中一種常用的事務(wù)性存儲引擎,它具有很多優(yōu)秀的特性,其中,Doublewrite Buffer是InnoDB的一個重要特性之一,本文將介紹Doublewrite Buffer的原理和應(yīng)用,需要的朋友可以參考下2023-07-07MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法
這篇文章主要給大家介紹了關(guān)于MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-12-12MySQL中LIKE?BINARY和LIKE模糊查詢實例代碼
通常在實際應(yīng)用中,會涉及到模糊查詢的需求,下面這篇文章主要給大家介紹了關(guān)于MySQL中LIKE?BINARY和LIKE模糊查詢的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11