在MySQL中,可以通過設置不同的參數來控制查詢和表名的大小寫敏感性。在默認情況下,MySQL是不區分大小寫的,而且在 Windows 上也不區分大小寫。然而,在 Unix/Linux 上是區分大小寫的。
如果想要區分大小寫,則需要在執行SQL語句時指定不同的參數。例如,可以在 MySQL 命令行中使用 --lower-case-table-names=0 參數,將表名區分大小寫。而在查詢中,可以使用 BINARY 操作符來指定對比的字符集為二進制,從而將查詢結果區分大小寫。
-- 使用 lower_case_table_names=0 參數,區分表名大小寫 mysql>SELECT * FROM employees WHERE first_name = 'John'; ERROR 1146 (42S02): Table 'employees.employees' doesn't exist -- 使用 BINARY 指定二進制比較,區分查詢大小寫 mysql>SELECT * FROM employees WHERE BINARY first_name = 'John'; +--------+------------+-----------+------------+------------+ | emp_no | birth_date | first_name| last_name | hire_date | +--------+------------+-----------+------------+------------+ | 10001 | 1953-09-02 | John | Doe | 1986-06-26 | +--------+------------+-----------+------------+------------+
為了避免混淆,在創建數據庫和表時建議統一使用大寫或小寫,以免在不同的平臺上出現不同的結果。