在MySQL數據庫中,字段值大小寫與平時我們日常使用的大小寫是有區別的。MySQL對于字段值大小寫的處理是區分大小寫的,也就是說,如果字段的值為“hello”,那么查詢語句中必須輸入“hello”,而輸入“Hello”或“HELLO”都是無法查詢到這條記錄的。
例如,假設有以下的數據表: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 如果插入一條數據: INSERT INTO `test`(`name`) VALUES ('hello'); 那么如果查詢時輸入以下語句: SELECT * FROM `test` WHERE `name`='Hello'; 則查詢結果將為空,因為這條記錄的字段值為“hello”,而不是“Hello”。
由此可見,在MySQL中,對于文本類型的字段,我們必須要嚴格區分大小寫,否則會出現查詢不到數據的情況。但是對于數值類型的字段,大小寫是沒有影響的。例如以下兩條SQL語句查詢的結果是一樣的:
SELECT * FROM `test` WHERE `id`=1; SELECT * FROM `test` WHERE `id`=1;
總體來說,為了保證數據庫查詢的精確性和正確性,我們應該在MySQL中嚴格區分字段值的大小寫。
上一篇mysql 字段亂碼