mysql 不区分大小写(大小写不敏感)

下边用一张表来区分mysql在windows和linux默认情况下对大小写的敏感程度

操作系统 表名 变量名 字段值
windows 不敏感 不敏感 不敏感
linux 敏感 敏感 敏感

linux下先不做介绍,因为没有实际用过,下边说下在windows下的修改方法:

表名区分大小写改法:

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

字段值的改法:

1、 创建时设置: CREATE TABLE T(

A VARCHAR(10) BINARY  );

2、 使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

3、使用数据库管理工具改

注意事项:不能通过直接改table的Collection为bin(如果数据库字符编码属性为utf-8则为utf8_bin)来使所有字段都生效,必须一个字段一个字段的改

mysql 不区分大小写(大小写不敏感)

时间: 2024-10-17 14:31:51

mysql 不区分大小写(大小写不敏感)的相关文章

MySQL查询大小写是否敏感问题分析

mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的.  1. 什么是字符集和校验规则? 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则.任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则.要想列出一个字符集的校对规则,使用SHOW COLLATION语句. 校对规则一般有这些特征: 两个不同的字符集不能有相同的校对规则. 每个字符集有一个默认校对规则.例如,ut

MySQL的UNIQUE KEY对数据中字母的大小写不敏感

今天遇到一个坑,对于下列这样一个表: CREATE TABLE `test3` ( `id` int(11) NOT NULL, `name` char(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8: 它的数据如下: +----+------+ | id | name | +----+------+ | 1 | aaa | | 2 | Aaa | +----+------+ 现在我想在这个表上的

MYSQL和oracle 大小写问题

MySQL的大小写问题 不是一个很大的问题,但是如果不了解的话,却会使用户产生迷惑 :如下面 Sql代码insert into t values('A'); insert into t values('a'); 当第二条执行的时候,如果是主键或者有唯一性约束的话,会发生 Sql代码 Duplicate entry for XXX 更加迷惑的是下面的2条语句 Java代码 insert into t values('~'); insert into t values('y'); 也会发生插入错误.

mysql字符串区分大小写的问题

一. 1. CREATE TABLE NAME(name VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM TABLE NAME WHERE name='clip'; SELECT * FROM TABLE NAME WHERE name='Clip'; MySql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,Binary标示敏感的属性. CREATE TABLE NAME(name VARCHAR(10) BINARY);

MySQL表名大小写敏感性

Linux版MySQL 库名与表名是严格区分大小写的: 表的别名是严格区分大小写的: 列名与列的别名在所有的情况下均是忽略大小写的: 变量名也是严格区分大小写的: 修改步骤如下: 1. 编辑[/etc/my.ini]或者[/etc/my.cnf]文件 2. 在[mysqld]下面追加一行:[lower_case_table_names=0] //0:大小写敏感:1:大小写不敏感 3. 重启MySQL服务 Windows版MySQL 默认情况下库名.表名.字段名.别名都不区分大消息 如果想在查询时

linux下mysql表名大小写问题

近日,新mysql实例导入sql数据时,发现比老的mysql多了100+张表,最终发现是mysql表名大小写所致:很简单的问题却耽误很长时间,在此记录一下,以防再犯同样的错误: 1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写:2.用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写:lower_case_table_names参数详解:l

Python正则匹配字母大小写不敏感在读xml中的应用

需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: 1 if s == 'abc':#s为需要匹配的字符串 2 print '匹配成功\n' 现在的问题是s可能是Abc.ABC等等,所以需要大小写不敏感的匹配,如果把需要匹配的模式的大小写进行罗列,那即使是三个字母的短模式也是很麻烦,查了一下,正则表达式re模块中有个参数flags=re.I,这样就可以大小写不敏感的匹配了,示例如下: 1 import re

css对大小写不敏感,空格不会影响css在浏览器的工作效果

是否包含空格不会影响 CSS 在浏览器的工作效果,同样,与 XHTML 不同,CSS 对大小写不敏感.不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的.

mysql对后空格不敏感 mysql数据库对空格的查询处理

mysql对后空格不敏感 https://blog.csdn.net/lzupb/article/details/73530589 结论:查询条件中建议对字符串做trim处理,在数据入库的时候最好也做trim处理. example1: 表里面的字段值都不带空格,where查询条件里面带或不带空格. 例如:key='test' 查询条件a:where key='test ',查询结果是ok的 查询条件b:where key=' test', 查询结果是空的 查询条件c:where key='tes