MySQL默認不區分數據大小寫。這意味著在MySQL中,大小寫相同的數據會被視為同一個數據。
例如,假設一個表中有這樣的一行數據:
id | name | |----|------| | 1 | John
在默認情況下,如果我們執行以下查詢語句:
SELECT * FROM table WHERE name = 'john';
結果將是空的,因為MySQL不區分大小寫,它將無法找到匹配的數據。
但是,如果我們想要MySQL區分數據大小寫,我們可以在創建表的時候指定一個COLLATE類型。
CREATE TABLE table ( id INT NOT NULL, name VARCHAR(50) COLLATE utf8_bin NOT NULL, PRIMARY KEY (id) );
在這里,我們使用了utf8_bin作為COLLATE類型。這個類型告訴MySQL區分數據的大小寫。因此,如果我們執行以下查詢語句:
SELECT * FROM table WHERE name = 'john';
我們會得到如下結果:
id | name | |----|------| | 1 | John
注意到在表的創建過程中,我們只在name字段上指定了COLLATE類型。這是因為我們只需要在這個字段上區分大小寫。如果我們想要在整張表上區分大小寫,我們需要在創建表的時候指定一個COLLATE類型。
在這里,我們使用了utf8_bin作為COLLATE類型。這個類型告訴MySQL區分數據的大小寫。因此,如果我們執行以下查詢語句:
SELECT * FROM table WHERE name = 'john';
我們會得到如下結果:
id | name | |----|------| | 1 | John
注意到在表的創建過程中,我們只在name字段上指定了COLLATE類型。這是因為我們只需要在這個字段上區分大小寫。如果我們想要在整張表上區分大小寫,我們需要在創建表的時候指定一個COLLATE類型。
上一篇mysql分表后查詢問題
下一篇html展示js代碼