qt中使用mysql模糊查询_mysql数据库模糊查询简介
在进行数据库查询时,有完整查询和模糊查询之分。
一般模糊语句如下:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为"张三","张猫三"、"三脚猫","唐三藏"等等有"三"的记录全找出来。
另外,如果需要找出u_name中既有"三"又有"猫"的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出"三脚猫",但不能搜索出符合条件的"张猫三"。
2,_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出"唐三藏"这样u_name为三个字且中间一个字是"三"的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出"三脚猫"这样name为三个字且第一个字是"三"的;
3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出"张三"、"李三"、"王三"(而不是"张李王三");
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为"0-4"、"a-e"
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出"老1"、"老2"、……、"老9";
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓"张"、"李"、"王"的"赵三"、"孙三"等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除"老1"到"老4",寻找"老5"、"老6"、……
5,查询内容包含通配符时
由于通配符的缘故,导致我们查询特殊字符"%"、"_"、"["的语句无法正常实现,而把特殊字符用"[ ]"括起便可正常查询。据此我们写出以下函数:
function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
在查询前将待查字符串先经该函数处理即可。
分享到:
2012-08-28 10:34
浏览 5893
分类:数据库
评论
qt中使用mysql模糊查询_mysql数据库模糊查询简介相关推荐
- mysql数据库实验3查询_mysql数据库(3)-查询
数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...
- mysql select表达式_MySQL数据库SELECT查询表达式解析
数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...
- mysql联合查询怎么加子查询_MySQL数据库 —子查询,联合查询
编程之家收集整理的这篇文章主要介绍了MySQL数据库 -子查询,联合查询,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. <MySQL数据库 -子查询,联合查询>要点: 本文 ...
- mysql离散查询_mySQL数据库数据查询操作详解
查询数据: 简单查询: 1.查询所有数据: select * from 表名 #select * from info 查询所有列 2.查询指定列: select code,name from info ...
- mysql复数记录_mysql 数据库设计查询规范
(一)建表规约 1.[强制]表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint(1表示是,0表示否) .说明:任何字段如果为非负数,必须是unsigned. ...
- mysql数据连接查询_mysql数据库 连接查询
左连接: select 列1,列2,列N from tableA left join tableB on tableA.列 = tableB [此次表连接成一张大表,完全当成普通表看] wher ...
- 微服务跨数据库联合查询_MySQL数据库联合查询
大家好,我是anyux.数据库联表查询很重要,内联查询更是尤为重要. 需要将school.sql文件导入到数据库中 数据库多表联合查询,school库下表的逻辑结构关系都在下图中.可以通过驱动表加子表 ...
- 在Qt中操作MySQL数据库
目录 一.安装驱动 (1)安装 (2)验证驱动是否安装成功 二.使用MySQL数据库 (1)单语句执行 (2)多语句执行 (3)批处理操作 方式一:addBindValue() 方式二:bindVal ...
- 压缩包安装mySQL 与 Qt中使用mySQL
文章目录 安装mySQL mySQL压缩包安装 Qt中使用mySQL Qt中的mySQL驱动编译 test 安装mySQL mySQL压缩包安装 参考: https://blog.csdn.net/S ...
- 【转】QT中使用MYSQL中文乱码解决方法
[转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...
最新文章
- c语言控制台光标的坐标范围,C语言之实现控制台光标随意移动的实例代码
- 使用VS2008开发及部署Excel AddIn 心得
- 第一章 OSI参考模型
- kubeadm安装k8s 1.13版本
- 微软取消Windows10强制更新
- LeetCode(1)——两数之和(JavaScript)
- 方法不对,啥都学不会!90%的Python工程师都输在这点上!
- 有关python_30个有关Python的小技巧
- kali linux权限维持,msfconsole权限维持
- Ionic页面传参跳转
- 红包码收款码合二为一
- DDD理论学习系列(7)-- 值对象
- 百度微笑起航将人脸识别玩出新高度
- PHP:include包含文件局部引入全局变量失效的作用域问题
- SCR-MCR:正则项, OGB榜单--清华唐杰-- 可扩展图学习
- 前端实现对ZIP 压缩文件解压,实现前端直接展示结果,比如图片,压缩包等 audio对象进行播放
- (转)Linux Kernel核心中文手册
- Matlab - 产生高斯噪声
- C++优化之使用emplace、emplace_back
- grafana+prometheus+node_exporter Window笔记