`

MySQL是否区分大小写

 
阅读更多

1、是否区分 库名、表名、列名、别名 的大小写?

------------------------------------------------------------------

[ Linux] MySQL在Linux下数据库名、表名、列名、别名大小写规则: 

   1、数据库名与表名是严格区分大小写 (我在mysql5.5上发现不区分阿?默认安装)

   2、表的别名是严格区分大小写 

   3、列名与列的别名在所有的情况下均是忽略大小写的 

   4、变量名也是严格区分大小写的 

改变表名的大小写区分规则的方法,修改/etc/my.cnf,在[mysqld]后添加添加lower_case_table_names=1,重启MySQL服务,若设置成功,则不再区分表名的大小写。 

 

[ Windows ] MySQL在Windows下数据库名、表名、列名、别名都不区分大小写。 

如果想大小写区分则在my.ini 里面的mysqld部分 ,加入 lower_case_table_names=0 

注意:Windows中即使改了这个设置,在查询时还是不会区分大小写。只是在导入导出时会对大小写有区别。

 

2、查询时where条件是否区分大小写

------------------------------------------------------------------

取决于库或表上的collate(核对、对比) 属性的值。

例如我们使用UTF8编码,collate使用utf8_bin时区分大小写,collate使用utf8_general_ci时不区分大小写

 

建库语句:

CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; (不区分大小写)

 

建表语句:

CREATE TABLE test2(id int(10),name char(10))

ENGINE = InnoDB

COLLATE = 'utf8_bin'  (区分大小写)

 

建表时指明了collate,则对对表有效。建表时未指明collate,则使用库上的collate属性。

分享到:
评论

相关推荐

    有关MySQL8.0大小写敏感的问题

    ### MySQL 8.0 大小写敏感性问题详解 #### 一、引言 MySQL 8.0作为MySQL数据库的重要版本更新,引入了一系列的新特性与优化改进,其中包括对数据库和表名大小写敏感性的调整。这一变化对于新老用户来说都需要一定...

    使MySQL查询区分大小写.doc

    在实际应用中,你应该根据业务需求和性能考虑来选择是否使用区分大小写的查询。对于需要精确匹配的场景,如用户名、密码验证或某些特定搜索,区分大小写可能是必要的。但在其他情况下,为了兼容性和性能,通常建议...

    数据库区分大小写的设置

    通过对SQL Server和MySQL中区分大小写的设置进行深入了解,我们可以更好地根据实际需求调整数据库的行为。无论是创建表时指定字段属性、查询时动态控制还是更改现有表的设置,这些方法都为我们提供了灵活的手段来...

    mysql表名忽略大小写配置方法详解

    1. `lower_case_table_names = 0`:在这种模式下,MySQL区分大小写。表名在数据库中以用户输入的大小写形式存储,并在查询时保持大小写敏感。这是默认设置。 2. `lower_case_table_names = 1`:在这个配置下,MySQL...

    mysql大小写敏感

    MySQL 在 Linux 下默认情况下是严格区分表名和数据库名的大小写,而在 Windows 下则不区分大小写。 在 Linux 下,MySQL 的默认设置是区分表名的大小写,不区分列名的大小写。可以通过添加 lower_case_table_names=...

    MySql查询不区分大小写解决方案(两种)

    在MySQL数据库中,查询操作默认情况下是不区分大小写的,这意味着如果你在查询条件中使用了不同的大小写字母,比如"aaa"和"Aaa",它们会被视为相同,从而可能导致你期望的精确匹配失败。这对于一些特定场景,比如...

    LINUX系统下mysql的大小写区分问题.docx

    尽管列名在大多数情况下不区分大小写,但如果你想在查询时区分字段值的大小写,可以对字段设置BINARY属性。BINARY属性确保比较时考虑字符的ASCII值,而不是忽略大小写。有三种方式可以设置BINARY属性: A. 创建表时...

    MySQL表名不区分大小写的设置方法

    此外,尽管设置为1可以使MySQL在逻辑上不区分大小写,但为了保持一致性,建议在定义表名和编写SQL语句时始终使用小写,避免因大小写问题引起不必要的困扰。 在开发过程中,特别是涉及跨平台的应用,了解并适当地...

    详解MySQL查询时区分字符串中字母大小写的方法

    而校对规则是在特定字符集基础上设定的一套比较规则,包括排序顺序和是否区分大小写等。例如,`_bin`后缀表示二进制校对规则,区分大小写;`_cs`代表区分大小写的校对规则;`_ci`则表示不区分大小写的校对规则。 ...

    MySQL修改配置 区分大小写

    MySQL是一种广泛使用的开源关系型数据库管理系统,其默认配置在处理表名、列名以及数据库名时通常是不区分大小写的。然而,根据业务需求,有时我们需要让MySQL对这些名称进行大小写敏感的处理,例如在开发多语言应用...

    MySQL的SQL语句大小写不敏感问题解决方案

    此外,在 mysql table editor 中也可以直接勾选 BINARY 项,以便区分大小写。 MySQL 的 SQL 语句大小写不敏感问题是一个需要注意的问题,通过设置表名的大小写规则和字段的 BINARY 属性,可以解决这个问题。

    mysql基础-不设置区分大小写

    在本文中,我们将探讨如何在Windows和Linux操作系统上设置MySQL使其不区分大小写。 首先,我们要了解`lower_case_table_names`这个配置选项。这是一个用于控制MySQL服务器如何处理表名和数据库名大小写的参数。当`...

    MySql下实现查询表名不区分大小写

    在Linux系统中,默认情况下,MySQL是严格区分大小写的,这与Windows环境下的行为形成鲜明对比,后者默认不区分大小写。本文将深入探讨如何在Linux下通过修改MySQL配置,使查询操作中表名的大小写变得不敏感。 ### ...

    mysql如何设置不区分大小写

    mysql设置不区分大小写 windows下 到安装mysql的目录,修改my.ini文件 在文件最后一行加上下面一句话 lower_case_table_names=1 说明 0:区分大小写,1:不区分大小写 效果如下 [mysqld] port = 3306 basedir=F...

    使MySQL查询区分大小写的实现方法

    在MySQL中,对于Column Collate其约定的命名方法如下: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *_ci: case insensitive collation,...

    mysql性能调优参数

    1. Lower_case_table_names:这个参数确定 MySQL 是否区分大小写,设置为 1 不区分大小写。 2. Thread_cache_size:这个参数确定可以重新利用保存在缓存中线程的数量,默认 8。 3. Table_open_cache:这个参数确定...

    mysql查出数据不区分大小写.md

    mysql查出数据不区分大小写.md

    PostgreSQL数据库对象名大小写敏感的解决方法

    `UPPER()`可以将字符串转换为大写,而`ILIKE`则用于不区分大小写的字符串比较。 ##### 示例查询语句 ```sql -- 使用UPPER()函数 SELECT * FROM "TUser" WHERE UPPER("Name") LIKE '%TONY%'; -- 使用ILIKE操作符 ...

Global site tag (gtag.js) - Google Analytics