91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql模糊查詢中是否區分大小寫

發布時間:2021-06-11 14:01:39 來源:億速云 閱讀:476 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關Mysql模糊查詢中是否區分大小寫,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

COLLATE通常是和數據編碼(CHARSET)相關的,一般來說每種CHARSET都有多種它所支持的COLLATE,并且每種CHARSET都指定一種COLLATE為默認值。例如latin1編碼的默認COLLATE為latin1_swedish_cigbk編碼的默認COLLATE為gbk_chinese_ciutf8mb4編碼的默認值為utf8mb4_general_ci

CHSRSETCOLLATE
latin1latin1_swedish_ci
gbkgbk_chinese_ci
utf8mb4utf8mb4_general_ci
utf8utf8_bin

有興趣的小伙伴,可以在navicate等數據庫可視化工具中,自己嘗試一下:

Mysql模糊查詢中是否區分大小寫
Mysql模糊查詢中是否區分大小寫
Mysql模糊查詢中是否區分大小寫
Mysql模糊查詢中是否區分大小寫

注意:mysql中有utf8utf8mb4兩種編碼,但是mysql中的utf8最多只能支持3bytes長度的字符編碼,所以,建議大家還是選擇utf8mb4編碼格式;

解決方法一

如圖所示,為了便于區分,讓小伙伴們更好地理解,在此,本小白建立了兩個一模一樣的數據庫,其中一個采用utf8編碼格式,另外一個采用utf8mb4格式:

Mysql模糊查詢中是否區分大小寫

區分大小寫

Mysql模糊查詢中是否區分大小寫

建表語句也采用utf8編碼格式:

建表語句

blog_test : utf8編碼格式

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_blog
-- ----------------------------
DROP TABLE IF EXISTS `t_blog`;
CREATE TABLE `t_blog`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `appreciation` bit(1) NOT NULL,
  `comment_tabled` bit(1) NOT NULL,
  `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NULL,
  `create_time` datetime(0) NULL DEFAULT NULL,
  `first_picture` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `flag` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `published` bit(1) NOT NULL,
  `recommend` bit(1) NOT NULL,
  `share_statement` bit(1) NOT NULL,
  `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `update_time` datetime(0) NULL DEFAULT NULL,
  `views` int(11) NULL DEFAULT NULL,
  `type_id` bigint(20) NULL DEFAULT NULL,
  `user_id` bigint(20) NULL DEFAULT NULL,
  `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `FK292449gwg5yf7ocdlmswv9w4j`(`type_id`) USING BTREE,
  INDEX `FK8ky5rrsxh01nkhctmo7d48p82`(`user_id`) USING BTREE,
  CONSTRAINT `FK292449gwg5yf7ocdlmswv9w4j` FOREIGN KEY (`type_id`) REFERENCES `t_type` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `FK8ky5rrsxh01nkhctmo7d48p82` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

Mysql模糊查詢中是否區分大小寫

數據庫內容

Mysql模糊查詢中是否區分大小寫

查詢結果 select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

select * from t_blog where title like ‘%HTML%';

Mysql模糊查詢中是否區分大小寫 

結論:

mysql采用utf8編碼格式,模糊查詢區分大小寫

不區分大小寫

Mysql模糊查詢中是否區分大小寫

建表語句

建表語句也采用utf8mb4編碼格式:

blog_test2 : utf8mb4編碼格式

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_blog
-- ----------------------------
DROP TABLE IF EXISTS `t_blog`;
CREATE TABLE `t_blog`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `appreciation` bit(1) NOT NULL,
  `comment_tabled` bit(1) NOT NULL,
  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
  `create_time` datetime(0) NULL DEFAULT NULL,
  `first_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `published` bit(1) NOT NULL,
  `recommend` bit(1) NOT NULL,
  `share_statement` bit(1) NOT NULL,
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `update_time` datetime(0) NULL DEFAULT NULL,
  `views` int(11) NULL DEFAULT NULL,
  `type_id` bigint(20) NULL DEFAULT NULL,
  `user_id` bigint(20) NULL DEFAULT NULL,
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `FK292449gwg5yf7ocdlmswv9w4j`(`type_id`) USING BTREE,
  INDEX `FK8ky5rrsxh01nkhctmo7d48p82`(`user_id`) USING BTREE,
  CONSTRAINT `FK292449gwg5yf7ocdlmswv9w4j` FOREIGN KEY (`type_id`) REFERENCES `t_type` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `FK8ky5rrsxh01nkhctmo7d48p82` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

Mysql模糊查詢中是否區分大小寫

數據庫內容

Mysql模糊查詢中是否區分大小寫

查詢結果 select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫select

* from t_blog where title like ‘%HTML%';

Mysql模糊查詢中是否區分大小寫 

結論

mysql采用utf8mb4編碼格式,模糊查詢不區分大小寫

解決方法二

 區分大小寫

方法

單獨指定所需字段(比如,在此處 我所需要區分大小寫的字段為表 ‘t_blog' 中的 ‘title' 字段)為 ‘utf8' 編碼格式,COLLATE 為“utf8_bin”;

Mysql模糊查詢中是否區分大小寫

alter table t_blog CHANGE `title` `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL;

結論

select * from t_blog where title like ‘%HTML%';

Mysql模糊查詢中是否區分大小寫

select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

由上述執行結果可以看出,此方法可以使模糊查詢語句區分大小寫

 不區分大小寫

方法

單獨指定所需字段(比如,在此處 我所需要不區分大小寫的字段為表 ‘t_blog' 中的 ‘title' 字段)為 ‘utf8mb4' 編碼格式,COLLATE 為“utf8mb4_bin”:

Mysql模糊查詢中是否區分大小寫

alter table t_blog CHANGE `title` `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL;

結論 select * from t_blog where title like ‘%HTML%';

Mysql模糊查詢中是否區分大小寫

select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

由上述執行結果可以看出,此方法可以使模糊查詢語句不區分大小寫

解決辦法三

區分大小寫

方法

如圖所示,當前 ‘t_blog' 表格的 ‘title' 字段的 COLLATE 為 ‘utf8mb4_general_ci' ,不區分大小寫

Mysql模糊查詢中是否區分大小寫

修改字段為BINARY:

Mysql模糊查詢中是否區分大小寫

alter table t_blog CHANGE `title` `title` varchar(255) BINARY NULL DEFAULT NULL;
alter table `t_blog` modify column `title` varchar(255) BINARY NULL DEFAULT NULL;

兩種修改方式選擇一種既可

結論

select * from t_blog where title like ‘%HTML%';

Mysql模糊查詢中是否區分大小寫

select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

由上述執行結果可以看出,修改字段為BINARY,可以使模糊查詢語句區分大小寫

解決辦法四

區分大小寫

方法

如圖所示,當前 ‘t_blog' 表格的 ‘title' 字段的 COLLATE 為 ‘utf8mb4_general_ci' ,不區分大小寫

Mysql模糊查詢中是否區分大小寫

查詢語句字段前面加BINARY:

select * from `t_blog` where BINARY `title` like '%html%';

結論

select * from t_blog where title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

select * from t_blog where BINARY title like ‘%html%';

Mysql模糊查詢中是否區分大小寫

由上述執行結果可以看出,在查詢語句字段前面加BINARY,可以使模糊查詢語句區分大小寫

解決辦法五

(特別特別不推薦,盡量不要使用)

找到mysql相應版本下的my.ini文件,本小白對應的8.0.17版本;

Mysql模糊查詢中是否區分大小寫
在文件最后一行加上下面一句話:

lower_case_table_names=1

注意:0:區分大小寫,1:不區分大小寫

關于Mysql模糊查詢中是否區分大小寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白河县| 禹州市| 延川县| 屯昌县| 元氏县| 都安| 永昌县| 榆中县| 石景山区| 汪清县| 综艺| 博乐市| 乐昌市| 芜湖县| 阿合奇县| 沂水县| 军事| 古蔺县| 法库县| 湟中县| 巴东县| 龙游县| 百色市| 阿尔山市| 永仁县| 郧西县| 通许县| 壶关县| 内黄县| 赣州市| 孟州市| 古丈县| 旺苍县| 韶山市| 九江市| 延川县| 吉安县| 昌江| 江西省| 南漳县| 科技|