一. 数据库本身的大小写区分规则
[ Linux ]
MySQL在Linux下数据库名、表名、列名、别名大小写规则:
1、数据库名与表名是严格区分大小写
2、表的别名是严格区分大小写
3、列名与列的别名在所有的情况下均是忽略大小写的
4、变量名也是严格区分大小写的
注意:
A、Linux下MySQL安装完后默认:区分表名的大小写,不区分列名的大小写
B、改变表名的大小写区分规则的方法:用root帐号登录,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MySQL服务,若设置成功,则不再区分表名的大小写。具体如下:
lower_case_table_names参数详解:
lower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写
[ Windows ]
MySQL在Windows下数据库名、表名、列名、别名都不区分大小写。
二. 查询时字段值的大小写区分问题
[ Linux/Windows ]
默认安装和设置下,MySQL对待查询字段不区分大小写。如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:
1、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
2、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
3、mysql table editor中直接勾选BINARY项。
三.乱码问题的解决方案
在[mysqld] 下增加下句:
default-character-set=utf8
分享到:
相关推荐
### MySQL显示乱码解决方案 #### 问题背景与现象 在MySQL数据库中,如果出现中文乱码的情况,将严重影响数据的准确性和可用性。本篇文章基于MySQL 5.5版本介绍如何解决显示乱码的问题,虽然文章针对的是特定版本,...
2. **选择正确的校对规则**:校对规则决定了字符串的排序规则以及是否区分大小写。这里推荐使用`gbk_chinese_ci`,表示按照简体中文排序,并且忽略大小写。 示例创建数据库的SQL语句如下: ```sql CREATE DATABASE...
这意味着在进行字符串比较时,不会区分大小写,适合大多数场景的需求。 #### 步骤三:重启MySQL服务 修改完my.cnf文件后,需要重启MySQL服务以使更改生效。在macOS中,可以使用以下命令来重启MySQL服务: ``` ...
例如,`utf8_general_ci`是一个不区分大小写的校对集,适用于大多数情况。 3. **服务器设定**:MySQL服务器的默认字符集可能不是UTF-8,这可能导致中文乱码。可以通过修改`my.cnf`配置文件,将`character-set-...
此外,`lower_case_table_names=1`可以让表名不区分大小写,但这与编码问题无关。 3. **重启MySQL服务**:完成配置文件的修改后,必须重启MySQL服务以使更改生效。在Linux下,可以使用`systemctl restart mysql`或`...
例如,“utf8mb4_general_ci”表示UTF-8编码的字符集,且字符比较时不区分大小写。 #### ASCII、LATIN1、UTF-8 关系分析 - **ASCII**:仅包含128个字符,适用于英语等拉丁字母语言。 - **LATIN1**:扩展了ASCII,...
- **大小写敏感性**:MySQL区分大小写,而Oracle不区分。 - **外连接语法**:Oracle使用“+”表示外连接,MySQL则使用`LEFT JOIN`或`RIGHT JOIN`。 - **更新返回值**:Oracle返回零表示未更新任何行,而MySQL返回1...
- 适当选择排序规则,如`_bin`用于区分大小写,`_ci`用于不区分大小写。 了解和正确设置MySQL字符集是确保数据正确存储和检索的关键,对于处理全球化数据的应用尤其重要。通过合理配置,我们可以避免乱码问题,...
例如,`utf8_general_ci`和`utf8_bin`都是`utf8`字符集下的校对集,其中`utf8_general_ci`区分大小写但不区分重音,而`utf8_bin`则区分大小写和重音。 - **校对集示例**:在创建表或列时,可以通过`COLLATE`关键字...
5. **Linux环境下表名大小写问题**:在Linux系统中,MySQL默认表名区分大小写,可能导致因大小写错误而查询不到表。为避免这个问题,可以在`my.cnf`配置文件末尾添加`lower_case_table_names=1`,这将使MySQL在处理...
`ci`代表“Case Insensitive”,表示不区分大小写。 3. **创建表时指定字符集**: - 在创建数据表时,同样需要指定字符集。错误的命令如下: ``` CREATE TABLE IF NOT EXISTS `mydb` ( `username` varchar(64) ...
校对规则则规定了字符的排序和比较规则,例如区分大小写或不区分,考虑地域性习惯等。 4. **SQL中的字符串操作函数**:数据库系统提供了丰富的字符串操作函数,如LEFT、RIGHT、SUBSTRING用于提取子串,CONCAT用于...
这里的`utf8_general_ci`是UTF8的不区分大小写的排序规则,用于存储和索引。 在PHP中,我们可以通过以下方式指定连接时的字符集: 1. 存储操作时使用UTF8: ```php function _select_db_utf() { mysql_select_db...
例如,如果数据库是区分大小写的,则应确保使用正确的大小写。此外,使用反引号 `[]` 来包裹表名和字段名可以避免大小写问题和特殊字符问题。 **示例代码**: ```sql SELECT * FROM `orders`; ``` #### 十一、...
实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例093 统计帖子标题的长度 127 实例094 计算论坛帖子的字节数 128 实例095 实现帖子内容的定位查找 129 实例096 去除帖子标题的首尾...
实例091 统一上传文件名称的大小写 125 实例092 论坛中直接输出HTML脚本 126 实例093 统计帖子标题的长度 127 实例094 计算论坛帖子的字节数 128 实例095 实现帖子内容的定位查找 129 实例096 去除帖子标题的首尾...
静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和...