MySQL的大小写敏感其实是根据用户的操作系统来的,可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...\\my.cnf 参数来读取指定的配置文件启动 mysqld 的话,你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_tabl

这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。

当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

换句话说,如果你希望在数据库里面创建表的时候保留大小写字符状态,则应该把这个参数置0: lower_case_table_names=1 。

否则的话你会发现同样的sqldump脚本在不同的操作系统下最终导入的结果不一样(在Windows下所有的大写字符都变成小写了)。

注意:

在Win32上,尽管数据库和表名是忽略Mysql大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下列查询将不工作,因为它作为my_table和作为MY_TABLE引用一个表:

代码如下

1.Mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;

2、列名

列名在所有情况下都是忽略大小写的。

3、表的别名

表的别名是区分大小写的。下列查询将不工作,: 因为它用a和A引用别名:

代码如下

1.Mysql> SELECT col_name FROM tbl_name AS a

2.WHERE a.col_name = 1 OR A.col_name = 2;

4、列的别名

列的别名是忽略大小写的。

5、字符串比较和模式匹配

缺省地,Mysql搜索是大小写不敏感的(尽管有一些字符集从来不是忽略Mysql大小写的,例如捷克语)。这意味着,如果你用col_name LIKE 'a%'搜寻,你将得到所有以A或a开始的列值。如果你想要使这个搜索大小写敏感,使用象INDEX(col_name, "A")=0检查一个前缀。或如果列值必须确切是"A",使用STRCMP(col_name, "A") = 0。

简单的比较操作(>=、>、= 、< 、<=、排序和聚合)是基于每个字符的“排序值”。有同样排序值的字符(象E,e)被视为相同的字符!

LIKE比较在每个字符的大写值上进行(“E”=”e”)。

如果你想要一个列总是被当作Mysql大小写敏感的方式,声明它为BINARY。

例如:

代码如下

1.Mysql> SELECT "E"="e","E"=BINARY "e";

2.+---------+----------------+| "E"="e" | "E"=BINARY "e"

|+---------+----------------+| 1 | 0 |+---------+----------------+

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql对哪些字符敏感_MySQL对大小写敏感一些总结相关推荐

  1. MYSQL的字符序_mysql字符序核心概念

    mysql中的字符集与排序规则 二话不说,先来看一张图 想必这张图大家在建立数据库的时候都见到过,而且见到的时候可能对字符集还有一点熟悉,但是对这个排序规则不是很熟,不知道是干嘛用的,我今天建立数据库 ...

  2. mysql 中文字符 函数_MySQL基础之字符函数-Go语言中文社区

    本文主要介绍几个MySQL常见的字符函数. 1.length()函数 length函数用于获取值的字节个数.str参数可以是一个字符串.整数.浮点数.布尔值.函数.null等. 注:如果参数值是nul ...

  3. mysql怎么改字体编码_mysql怎么改字符编码?

    mysql命令行修改字符编码 1.修改数据库字符编码mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码mysq ...

  4. mysql修改客户端编码命令_mysql命令行修改字符编码

    1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...

  5. mysql的char在java中表示为_Java学习篇之-Mysql中varchar门类总结_mysql

    java学习篇之---mysql中varchar类型总结 Mysql中varchar类型总结 今天新做一个项目,需要自己进行数据库设计,发现自己对varchar的用法还不是很熟悉,所以查阅资料总结若下 ...

  6. mysql 5.166修改字符集_mysql字符集问题

    最近一直在研究MYSQL的字符集问题,发现问题并不简单,所以有必要深究一番. utf8_unicode_ci PK utf8_general_ci 当前,utf8_unicode_ci校对规则仅部分支 ...

  7. mysql 汉字一排序规则_MySQL 的字符集与排序规则

    今天突然被同事问到,MySql 里的 uft8 与 utf8mb4 究竟有什么区别,当时我也是一脸问号,因此特地去了解了一下. 字符集 uft8 与 utf8mb4 其实指的是 MySQL 中的字符集 ...

  8. mysql字符集在哪设置_MySQL字符集设置

    最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法. 基本概念 • 字符(Character)是指人类语言中最小 ...

  9. mysql的collate什么意思_MYSQL中的COLLATE是什么?

    在mysql中执行show create table 指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` ( `id` bigint(20) unsign ...

最新文章

  1. [MySQL]增加用户 授权 远程登录
  2. 用于特征选择的F-Score打分及其Python实现
  3. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
  4. Windows 2008 R2 SP1部署Lync2010标准版(1)
  5. 小学数学加减法测试软件,小学生数学加减测试题
  6. ehcache 默认大小_简单的使用ehcache
  7. 主成分分析(PCA)及其可视化——matlab
  8. nginx一个端口配置多域名服务
  9. iOS:UIWebView scrollView 的分页滑动问题
  10. oracle让数据库不产生redo,imp过程如何减少redo产生
  11. Android中Parcelable与Serializable接口用法
  12. Docker-学习笔记
  13. windows环境中JDK环境变量配置
  14. 以半桥驱动芯片FAN73933为例说明自举原理
  15. SOS关于组建星际物质研究自愿者协会的倡议
  16. 微型计算机机安装硬盘教程,装机DIY之硬盘安装方法 不同硬盘安装方法图解教程...
  17. # 将日期的符串(Sat Mar 21 08:00:00 CST 2020 )转换为指定字符串日期(yyyy-MM-dd HH:mm:ss)
  18. 质量、质量要求、检验、验证和确认
  19. 活猫还是死猫?| 薛定谔的猫 | 儿童故事
  20. test\fmw\gtest\include\gtest/gtest-printers.h(714) : error C2977: “std::tuple”: 模板 参数太多

热门文章

  1. 济南职业学院计算机信息管理在哪个校区,计算机学院圆满完成省计算机信息管理专业教学指导方案开发...
  2. check的用法java,Java ValueRange checkValidValue()用法及代码示例
  3. wget java 1.7_linux下安装和配置jdk1.7
  4. move语句java_Oracle中的move命令
  5. 微软软件推送服务器,向 UWP 应用添加推送通知 - Azure Mobile Apps | Microsoft Docs
  6. 皮一皮:防狼泳衣...
  7. 有没有搞错?Java 对象不使用时,要赋值为 null?
  8. 大厂的 404 页面都长啥样?最后一个绝了...
  9. 微信悄然上线了十款新表情,你注意到了吗?
  10. linux按进程分配物理内存,linux下内存管理学习心得(一)