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=’test ‘, 查询结果是ok的 
结论:where查询条件对字符前的空格敏感,字符后的空格忽略。

example2:表格里面的字段值前面带空格,where查询条件里面带或不带空格 
例如:key=‘ test’, (test前面有4个空格) 
查询条件a: where key=’test’,查询结果为空。 
查询条件b:where key=‘ test’(test前面有4个空格),查询结果ok。 
查询条件c:where key=‘test ’,查询结果为空。 
结论:如果表中字段值本身前面带空格,则查询条件需要严格按照前空格匹配。

example3:表格里面的字段值后面带空格,where查询条件里面带或不带空格 
例如:key=‘test ’(test后面有4个空格) 
查询条件a:where key=‘test’,查询结果ok 
查询条件b:where key=‘test ’(test后面带4个空格),查询结果ok 
查询条件c:where key=‘ test’,(test前面带4个空格),查询结果为空。 
结论:如果表中字段值本身后面带空格,则查询条件同example1。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzupb/article/details/73530589

原文地址:https://www.cnblogs.com/linus-tan/p/9298069.html

时间: 2024-11-05 16:26:57

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

mysql安装完之后,登陆后发现只有两个数据库

mysql安装完之后,登陆后发现只有两个数据库:mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema | | test               | +--------------------+,mysql> use mysqlERROR 1044 (42000): Access denied for user ''@'local

MySQL安装后默认自带数据库的作用

大家在学习MySQL时,安装后都会发现里边已经自带了几个默认的数据库,我装的MySQL5.5里边自带六个数据库 网上查了一些资料对这几个数据库的功能做一下学习. 1.information_schema 这个库中有很多的表 information_schema数据库表说明: SCHEMATA表:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES表:提供了关于数据库中的表的信息(包括视图).详细表述了某个表属于哪个schema,表类型,表引擎,

关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要

近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) 经过调研发现,这个问题是mysql的ut

无法远程连接mysql,连接后也没有权限创建数据库

问题现象:无法远程连接mysql,连接后也没有权限创建数据库 问题原因: MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-

Mac上安装MySQL后在终端连接不上数据库Command not found

再Mac上安装好MySQL要想在终端输入mysql命令,但是报Command not found,解决办法 打开终端输入如下命令:  /usr/local/mysql/bin/mysql -u root -p 其中root为用户名.这时会出现如下命令:Enter password:  123456 这样就可以访问你的数据库服务器了 但是mac是没有默认root账户的,如果没有root账户,去登录会报错,如下图:  所以我们要登录root还得先创建个root账户 输入命令创建账户 sudo pas

MySQL之MySQL:prompt 设置 -登陆MySQL显示用户名和主机以及当前数据库

是开始但愿不是结束,是起点但愿不是终点 今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别查看了mysql的相关资料,每次通过客户端登陆怎么才能显示这些信息呢?其实MySQL的相关设置都在配置文件my.cnf中可以设置.因此就去看my.cnf文件,之前就使用下,没有细心看.my.cnf配置文件中两大部分:[client]和[mysqld],前者是客户端的配置参

mysql的安装、C++访问mysql数据库、编码设置问题

一.mysql的安装,这个相对简单,直接去官网下载mysql安装程序,就可以完成安装过程,网上有很多安装教程,这个没什么注意事项. 二.C++访问mysql,主要是用到mysql定义的头文件,内部定义了各种数据结构和函数,比如MYSQL,MYSQL_RES,MYSQL_ROW,mysql_real_connect等等一系列的结构和函数.这里要注意的就是将头文件及lib文件以及dll文件配置到当前开发环境来进行访问mysql数据库. 以最新的vs2013作为示例说一下配置过程.为了写的清晰点,在网

centos下yum安装mysql5.6后,无法启动 MySQL Daemon failed to start

如果是全新安装应该就不会出现这个问题,升级安装的话,要运行 mysql_upgrade ,但是启动MYSQL就报错MySQL Daemon failed to start 如此就没办法运行mysql_upgrade升级MYSQL表了 因为是全新安装的数据库服务器就不管老数据了,直接把老的MYSQL数据库文件夹删除了,然后 运行 mysql_install_db 单独执行下命令,初始化mysql,test等数据库 初始化所有数据库以后,依然是无法启动,检查了MYSQL的日志发现没有权限,因为是RO

MySQL安装后的基本安全优化

MySQL5.6及以下的版本,安装后默认自带一个test的数据库,并且在MySQL5.6中,mysql.user用户表中带有用户名为空的用户,等等的默认设置,这些都是不安全的,容易给他人利用的机会.所以需要在安装MySQL后做些优化,加强MySQL数据库的安全性. 1.操作系统与MySQL的基本环境信息: 操作系统版本.操作系统内核版本:lsb_release -a.uname -r     MySQL数据库版本:mysql> select version();  MySQL数据库安装后默认的数