这里大家来看一个例子,假设大家创建了一个名为“users”的表,其中包含“id”和“Name”两列:
CREATE TABLE `users` ( `id` INT NOT NULL, `Name` VARCHAR(45) NOT NULL );
在这个例子中,“Name”列的名称大小写被区分,因为它是用反引号( ` )括起来的,而“id”列的名称大小写则不被区分。如果大家要查询名字为“Tom”的用户,则必须使用以下SQL语句:
SELECT * FROM `users` WHERE `Name`='Tom';
如果大家使用小写的“name”或大写的“NAME”来代替“Name”,则查询结果将返回空结果集,这是因为MySQL无法正确匹配列名。
对于不区分大小写的列名,大家可以使用以下语句来创建表:
CREATE TABLE users ( id INT NOT NULL, name VARCHAR(45) NOT NULL );
在这个例子中,列名的名称大小写不被区分,在查询时大家可以使用任何大小写组合的列名,如下所示:
SELECT * FROM users WHERE name='Tom'; SELECT * FROM USERS WHERE name='Tom'; SELECT * FROM Users WHERE name='Tom';
以上三个SQL语句将返回相同的结果集,因为它们都正确地匹配了列名。
总之,当创建MySQL表时,大家需要注意列名是否区分大小写,以及使用什么样的大小写形式创建列名。如果列名区分大小写,那么在查询时必须使用完全相同的列名,否则查询将无法正常执行。