- 浏览: 624940 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
MySQL查询时强制区分大小写的方法
平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。
www.2cto.com
如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机。那么好吧,在查询时,多加个单词好了!
例如,一般查询:
Sql代码
SELECT * FROM U WHERE name LIKE 'a%';
SELECT * FROM U WHERE name LIKE 'A%';
其结果是一样的,为了区分'A%'和'a%',可以这么做:
Sql代码
SELECT * FROM U WHERE binary name LIKE 'a%';
SELECT * FROM U WHERE binary name LIKE 'A%';
仅仅多了一个binary,就可以得到不同的结果!
www.2cto.com
当然,如果需要建表时强制区分大小写,可以这么写:
Sql代码
create table table_name(
name varchar (20) binary
);
就这么简单!
转自:http://www.2cto.com/database/201209/156617.html
平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。
www.2cto.com
如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机。那么好吧,在查询时,多加个单词好了!
例如,一般查询:
Sql代码
SELECT * FROM U WHERE name LIKE 'a%';
SELECT * FROM U WHERE name LIKE 'A%';
其结果是一样的,为了区分'A%'和'a%',可以这么做:
Sql代码
SELECT * FROM U WHERE binary name LIKE 'a%';
SELECT * FROM U WHERE binary name LIKE 'A%';
仅仅多了一个binary,就可以得到不同的结果!
www.2cto.com
当然,如果需要建表时强制区分大小写,可以这么写:
Sql代码
create table table_name(
name varchar (20) binary
);
就这么简单!
转自:http://www.2cto.com/database/201209/156617.html
发表评论
-
mysql字段限定在某一范围取值
2023-12-15 15:02 313mysql字段限定在某一范围取值 -
mysql查询动态行转动态列,并使用mybatis执行
2023-04-02 22:56 658mysql查询动态行转动态列,并使用mybatis执行 My ... -
MySQL 正则表达式 通过正则匹配字符、替换特定字符、返回特定字符
2022-12-29 14:54 357MySQL 正则表达式 通过正则匹配字符、替换特定字符、返回特 ... -
MySQL InnoDB update锁表问题Record Locks
2022-12-20 12:26 269MySQL InnoDB update锁表问题Record L ... -
oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
2022-09-02 19:44 268oracle 使用flashback(闪回)恢复误删除的数据 ... -
数据库面试题
2022-04-06 21:48 211分布式事务解决方案之TCC 分布式事务解决方案——Seata ... -
面试题
2022-02-11 11:38 242Java面试题目大汇总 数据库事务的隔离级别从低到高的顺序依 ... -
mysql相关问题 WAL机制、crash safe如何实现、redo log作用
2019-07-16 23:43 550https://www.jianshu.com/p/cd914 ... -
MySQL -- 内存使用监控详解
2019-06-12 13:59 637第一步: 配置performance_schema使它开启内存 ... -
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregate
2018-01-01 12:17 1257https://www.cnblogs.com/lonelyw ... -
MySQL使用profile分析SQL执行状态
2017-08-24 09:49 530http://blog.csdn.net/staricqxyz ... -
blocked because of many connection errors; unblock with 'mysqladmin flush-hosts
2017-06-21 16:56 616错误:Host is blocked becaus ... -
MySQL半同步复制配置
2017-05-08 14:14 735MySQL半同步复制配置 http://blog.csdn.n ... -
mysql.sock的作用
2017-04-18 11:29 491Mysql有两种连接方式: (1),TCP/IP ... -
Linux下源码安装MySQL 5.6
2017-04-16 20:30 624http://blog.sina.com.cn/s/blog_ ... -
docker中mysql初始化及启动失败解决办法
2017-04-12 20:56 1823http://blog.csdn.net/rznice/art ... -
MySQL数据库自动生成并修改随机root密码的脚本
2017-03-25 15:10 1009http://blog.csdn.net/yumushui/a ... -
centos6.5下yum安装mysql5.5和php5.6
2017-03-22 14:34 526http://www.cnblogs.com/SQL888/p ... -
Linux平台卸载MySQL和PHP
2017-03-22 13:58 387http://www.cnblogs.com/kerrycod ... -
分布式系统事务一致性解决方案
2017-03-19 22:37 426开篇 在OLTP系统领域, ...
相关推荐
本文将详细介绍两种解决MySQL查询不区分大小写问题的方法。 **方法一:使用BINARY函数** 在查询语句中,你可以使用BINARY函数来强制进行区分大小写的比较。BINARY关键字将字符串转换为二进制形式,从而进行字节...
可以在查询语句中直接使用`BINARY`关键字来强制区分大小写,如: ```sql SELECT * FROM usertable WHERE BINARY id='AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'; ``` 2. 在创建表时设置: 创建表时,可以在字段定义中...
在MySQL数据库中,查询操作默认情况下是不区分大小写的,这意味着如果你在查询时输入的字符串与数据库中的数据在大小写上不完全匹配,查询仍然可能返回结果。这在某些场景下可能会导致意料之外的问题,比如在用户...
这样,`code`字段的比较将在查询时强制区分大小写。 3. 重建表并指定校对规则: 如果整个表都需要区分大小写,最佳做法是备份数据,然后重建表,并在建表语句中指定`_bin`校对规则,如: ```sql CREATE TABLE `...
在Linux系统中,默认情况下MySQL是区分大小写的,而在Windows系统中则通常是不区分大小写的。对于开发者来说,保持一致性是至关重要的,特别是在跨平台的应用中。本文将详细介绍如何在MySQL中配置表名忽略大小写,...
在MySQL中,数据库默认的查询行为通常是不区分大小写的,这在处理英文字符时可能会造成不便。特别是当你需要进行精确匹配,例如用户输入的用户名或密码必须与存储的值完全一致(包括大小写)时,就需要使查询区分大...
说明: MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。因此,数据库名、 表名、字段名,都不允许出现任何大写字母,避免节外生枝。 正例: aliyun _ admin , rdc _ config , level 3_
默认情况下,MySQL在查询时对表名和列名是不区分大小写的,这主要取决于你的操作系统和MySQL配置。例如,`CREATE TABLE NAME (name VARCHAR(10))`,在这之后,无论你使用`SELECT * FROM TABLE NAME WHERE name='...
2. **Linux环境**:而在Linux环境下,默认情况下MySQL严格区分大小写,这意味着在创建表或引用表时必须确保名称完全匹配(包括大小写)。 这种行为差异往往会成为从Windows环境迁移到Linux环境时的一个常见陷阱。 ...
在数据库管理中,可以改变数据库的字符集和校对规则,例如将数据库字符集更改为gb2312,使其支持简体中文且不区分大小写。此外,还可以通过相关SQL语句查询数据库的结构信息,了解其内部构成。 接下来是【表及数据...
具体来说,在Linux环境下,这些对象名称是区分大小写的;而在Windows环境中,默认情况下这些名称则不区分大小写。这种差异可能导致跨平台迁移时出现一些意外问题。例如,如果在Linux环境下创建了名为`test_table`的...
如果你需要区分大小写,可以使用BINARY关键字来强制REGEXP进行大小写敏感匹配。 另外,可以使用字符类在方括号中列出希望匹配的任意一个字符集。例如,要找出名字中包含字母'a'或'b'或'c'的所有记录,可以使用: ...
这些参数的顺序不是强制性的,且不区分大小写。这些参数具有特定的名称定义,例如: - `Server`: MySQL服务器的地址。 - `Database`: 要连接的数据库名称。 - `Uid`: 用户名。 - `Pwd`: 密码。 - `Port`: 连接端口...
设置`lower_case_table_names = 1`使得数据库不区分大小写,`sql_mode`定义严格模式,以及其他相关参数。 6. **初始化数据库**: 在安装libaio库之后,使用`/usr/local/mysql/bin/mysqld --initialize --user=...
- **大小写敏感性**:MySQL关键字和函数名称通常不区分大小写,例如`SELECT`、`select`和`SeLeCt`被视为相同。 - **计算功能**:除了执行数据库操作外,MySQL还可以用作简单的计算器,支持基本的数学运算,例如加减...
若项目无法识别表名大小写,可能是因为MySQL默认在Linux环境下区分大小写。可以通过以下方式设置为不区分大小写: - 使用root用户登录MySQL。 - 修改`/etc/my.cnf`配置文件中的`lower_case_table_names`选项为`1...
1. **大小写敏感性(Case Sensitivity)**:MySQL默认对标识符(如表名、列名)不区分大小写,但在某些操作系统下可以通过设置使其区分大小写。 2. **文字值(Literals)**:SQL语句中的常量值,如数字、字符串和日期...