MySQL在Linux下数据库名、表名、列名、别名大小写规则:
1、数据库名与表名是严格区分大小写
2、表的别名是严格区分大小写
3、列名与列的别名在所有的情况下均是忽略大小写的
4、变量名也是严格区分大小写的
注意:
A、Linux下MySQL安装完后默认:区分表名的大小写,不区分列名的大小写
B、改变表名的大小写区分规则的方法:用root帐号登录,在/etc/my.cnf 或 /etc/mysql/my.cnf 中的[mysqld]下面添加添加lower_case_table_names=1
# The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M # add here lower_case_table_names=1
重启MySQL服务,若设置成功,则不再区分表名大小写。
注意:如果在/etc或/etc/mysql找不到my.cnf ,需要从其他地方拷贝过来,因为使用rpm安装mysql时,需要手工拷贝my.cnf。具体操作:
到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
其中:
my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
my-medium.cnf是为中等规模的数据库而设计的。
my-large.cnf是为专用于一个SQL数据库的计算机而设计的。
my-huge.cnf是为企业中的数据库而设计的。
[ Windows ]
MySQL在Windows下数据库名、表名、列名、别名都不区分大小写。
如果想大小写区分则在my.ini 里面的mysqld部分
加入 lower_case_table_names=0
注意:Windows中即使改了这个设置,在查询时还是不会区分大小写。只是在导入导出时会对大小写有区别。
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
相关推荐
尽管列名在大多数情况下不区分大小写,但如果你想在查询时区分字段值的大小写,可以对字段设置BINARY属性。BINARY属性确保比较时考虑字符的ASCII值,而不是忽略大小写。有三种方式可以设置BINARY属性: A. 创建表时...
通过对SQL Server和MySQL中区分大小写的设置进行深入了解,我们可以更好地根据实际需求调整数据库的行为。无论是创建表时指定字段属性、查询时动态控制还是更改现有表的设置,这些方法都为我们提供了灵活的手段来...
然而,在8.0版本中,MySQL对此进行了重大改动:该参数现在只能在服务器初始化时进行配置,并且默认值在不同的操作系统上有区别——Windows下默认为1(大小写不敏感),而在Linux下则保持不变,仍为0(大小写敏感)。...
MySQL 在 Linux 下默认情况下是严格区分表名和数据库名的大小写,而在 Windows 下则不区分大小写。 在 Linux 下,MySQL 的默认设置是区分表名的大小写,不区分列名的大小写。可以通过添加 lower_case_table_names=...
在本文中,我们将探讨如何在Windows和Linux操作系统上设置MySQL使其不区分大小写。 首先,我们要了解`lower_case_table_names`这个配置选项。这是一个用于控制MySQL服务器如何处理表名和数据库名大小写的参数。当`...
此外,尽管设置为1可以使MySQL在逻辑上不区分大小写,但为了保持一致性,建议在定义表名和编写SQL语句时始终使用小写,避免因大小写问题引起不必要的困扰。 在开发过程中,特别是涉及跨平台的应用,了解并适当地...
在Linux系统中,默认情况下,MySQL是严格区分大小写的,这与Windows环境下的行为形成鲜明对比,后者默认不区分大小写。本文将深入探讨如何在Linux下通过修改MySQL配置,使查询操作中表名的大小写变得不敏感。 ### ...
2. **Linux环境**:而在Linux环境下,默认情况下MySQL严格区分大小写,这意味着在创建表或引用表时必须确保名称完全匹配(包括大小写)。 这种行为差异往往会成为从Windows环境迁移到Linux环境时的一个常见陷阱。 ...
- **不区分表名大小写**:在`[mysqld]`段落中添加`lower_case_table_names = 1`。 #### 八、设置字符集 为了支持中文,需要将MySQL的默认编码修改为`gbk`或`utf8`: 1. **中止MySQL服务**: ```bash bin/...
在 Linux 下,数据库名、表名、列名、别名的大小写规则是严格区分的,而在 Windows 下则不区分大小写。同时,在查询字符串时,MySQL 是大小写不敏感的,这也会导致大小写问题的产生。 在实际应用中,这个问题可能会...
当`lower_case_table_names`设置为0时,MySQL将对这些对象的名字进行完全区分大小写的比较,这意味着创建时的大小写必须在后续的查询中严格保持一致。而如果设置为1,则表示MySQL会将所有名称转换为小写,从而在比较...
这里的`default-character-set`定义了MySQL的默认字符集,`character-set-server`设置了服务器级别的字符集,而`collation-server`则指定了排序规则,`utf8_general_ci`是一种不区分大小写的排序规则,适用于大多数...
1. **lower_case_table_names = 0**:这个设置意味着MySQL区分大小写。在这种模式下,无论创建时使用何种大小写,表名和数据库名都会被正常处理。这是默认设置。 2. **lower_case_table_names = 1**:此设置下,...
而在Linux环境下,默认设置可能会使表名区分大小写。本文将详细介绍如何理解和解决这一问题。 --- ### MySQL中表名大小写敏感性的背景与原理 在MySQL数据库中,表名的大小写敏感性取决于多个因素,包括操作系统、...
最后,我们可以使用以下命令来使 MYSQL 不区分大小写: `mysql -uroot -p -e "SHOW VARIABLES LIKE 'lower_case_table_names'"` 本文详细介绍了 LINUX 下 MYSQL 的安装和卸载过程。通过这篇文章,读者可以轻松地...
- 编辑 `/etc/my.cnf` 文件,添加 `lower_case_table_names=1` 行,以确保表名不区分大小写。 ##### 2.8 设置环境变量 - 在 `/etc/profile` 文件末尾添加 `export PATH=/usr/local/mysql/bin:$PATH`。 - 使用 `...
本文将详细介绍如何在Windows和Linux环境下设置MySQL以实现不区分大小写的表名和列名。 在MySQL中,`lower_case_table_names`参数控制了数据库对表名和数据库名的大小写敏感性。当这个值设为1时,MySQL将忽略这些...