天天看点

mysql select 区分大小写_MySQL不区分大小写的select

当列使用以_ci结尾的归类(例如, 默认的 latin1_general_ci归类)时,比较是不区分大小写的,当列使用以_cs或_bin结尾的归类时(例如utf8_unicode_cs和utf8_bin归类),它们区分大小写 。

检查整理

您可以使用以下方式检查您的服务器 , 数据库和连接归类:

mysql> show variables like '%collation%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | utf8_general_ci | | collation_database | latin1_swedish_ci | | collation_server | latin1_swedish_ci | +----------------------+-------------------+

你可以使用以下方法检查你的表格整理:

mysql> SELECT table_schema, table_name, table_collation FROM information_schema.tables WHERE table_name = `mytable`; +----------------------+------------+-------------------+ | table_schema | table_name | table_collation | +----------------------+------------+-------------------+ | myschema | mytable | latin1_swedish_ci |

更改整理

您可以将数据库,表格或列整理更改为区分大小写,如下所示:

-- Change database collation ALTER DATABASE `databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; -- or change table collation ALTER TABLE `table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin; -- or change column collation ALTER TABLE `table` CHANGE `Value` `Value` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;

现在你的比较应该是区分大小写的。