MySQL 是目前互聯(lián)網(wǎng)上使用最廣泛的關(guān)系型數(shù)據(jù)庫(kù)之一,其字段的大小寫使用是一項(xiàng)非常重要的特征。
首先,MySQL 在創(chuàng)建表時(shí)默認(rèn)是大小寫不敏感的。也就是說(shuō),如果你定義了一個(gè)字段為“name”,那么在查詢時(shí),你可以使用“Name”或“NAME”或“nAmE”這樣的方式進(jìn)行查詢。
CREATE TABLE t ( name VARCHAR(50), age INT );
但是,如果你想在查詢時(shí)區(qū)分大小寫,可以使用BINARY關(guān)鍵字來(lái)實(shí)現(xiàn):
SELECT * FROM t WHERE BINARY name='Tom';
如果不使用BINARY關(guān)鍵字,則下面的查詢語(yǔ)句也會(huì)返回Tom的記錄:
SELECT * FROM t WHERE name='tom';
此外,對(duì)于一些特殊的數(shù)據(jù)類型,如ENUM和SET類型,則默認(rèn)是大小寫敏感的。也就是說(shuō),如果你定義了一個(gè)ENUM類型字段為“Gender”,那么在查詢時(shí)只能使用“Gender”這樣的方式,而不能使用“gender”或“GENDER”。
CREATE TABLE t2 ( id INT PRIMARY KEY, gender ENUM('Male','Female') );
總之,在使用MySQL 進(jìn)行開發(fā)時(shí),應(yīng)該根據(jù)實(shí)際情況來(lái)選擇字段的大小寫敏感性,以滿足項(xiàng)目需求。