python 数据库模糊查询
import sqlite3
import random
connect = sqlite3.connect('nameDB')
cursor = connect.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS nameTable(name text)')
connect.commit()str = """
赵钱孙李,周吴郑王。
冯陈褚卫,蒋沈韩杨。
朱秦尤许,何吕施张。
孔曹严华,金魏陶姜。
戚谢邹喻,柏水窦章。
云苏潘葛,奚范彭郎。
鲁韦昌马,苗凤花方。
俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。
"""
str = str.replace(',','').replace('。','').replace('\n','')
print(str)
扩展一下:
pattern 中的字符 符合 string 中的
? 任何单一字符。
* 零个或多个字符。
# 任何一个数字 (0–9)。
[charlist] charlist.中的任何单一字符。
[!charlist] 不在 charlist 中的任何单一字符。
在中括号 ([ ]) 中,可以用由一个或多个字符 (charlist) 组成的组与 string 中的任一字符进行匹配,这个组几乎包括任何一个字符代码以及数字。
注意 为了与左括号 ([)、问号 (?)、数字符号 (#) 和星号 (*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个组内使用右括号 (]) 与自身匹配,但在组外可以作为个别字符使用。
通过在范围的上、下限之间用连字符 (–),charlist 可以指定字符的范围。例如,如果 string 中相应字符的位置包括 A–Z 之间的任意大写字母,则 [A-Z] 得到一个匹配。不需要分界符,方括号内就可以包括多个范围。
指定范围的意义取决于运行时的有效字符排序(正如 Option Compare 和系统的国别设置所确定的,代码在运行之中)。使用 Option Compare Binary 示例可以看到,范围 [A–E] 与 A、B 和 E 相匹配。通过 Option Compare Text 可以看到,[A–E] 与 A, a, _, _, B, b, E, e 相匹配。此范围与 _ 或 _ 不匹配,因为按照排序顺序,重音字符在非重音字符之后。
下面列举的是模式匹配的其它重要规则:
charlist 开头的惊叹号 (!) 意味着,如果在 string 中找到任何不属于 charlist 的字符,则存在一个匹配。如果在方括号之外使用惊叹号,则惊叹号与自身匹配。
连字符 (–) 可以出现在 charlist 的开头(如果使用惊叹号,则在惊叹号之后),也可以出现在 charlist 的结尾与自身匹配。在任何其它地方,连字符用来识别字符的范围。
当指定了字符范围时,这些字符必须按照升序(从最小到最大)顺序来显示。[A-Z] 是有效模式,但 [Z-A] 不是。
字符序列 [] 被看作是长度为零的字符串 ("")。
某些语言的字母表中有一些特殊字符,它们表示两个分开的字符。例如,在一些语言中,当字符 "a" 与 "e" 同时出现时,用 "_" 来表示字符 "a" 与 "e"。Like 运算符可以辨认出单一的特殊字符和两个个别字符是否相等。
当一个语言使用了一个特殊字符,而且这个字符在系统地区设置中已被指定的时候,在 pattern 或 string 中出现的单一特殊字符将与其他字符串中等价的两个字符相匹配。与此相似,由方括号括起来的 pattern 中的单一特殊字符(字符本身在列表或范围内)将与 string 中等价的两个字符序列匹配。
def get_all_match_info():#like是数据库记性匹配的关键字 后面为匹配的规则#X表示找到以x开头,后面只有一位的数据#_多找位 就表示找到后面有几位的数据#cursor.execute('SELECT * FROM nameTable WHERE name LIKE "张_"')#cursor.execute('SELECT * FROM nameTable WHERE name LIKE "_王"')#%x表示找到所有以x结束的数据#cursor.execute('SELECT * FROM nameTable WHERE name LIKE "%李"')#x%表示找到所有以x开始的数据#cursor.execute('SELECT * FROM nameTable WHERE name LIKE "李%"')#%X%表示找到所有包含x的数据cursor.execute('SELECT * FROM nameTable WHERE name LIKE "%花%"')print(cursor.fetchall())
get_all_match_info()
Like 运算符
用来比较两个字符串。
语法
result = string Like pattern
Like 运算符的语法具有以下几个部分:
部分 描述
result 必需的;任何数值变量。
string 必需的;任何字符串表达式。
pattern 必需的;任何字符串表达式,遵循“说明”中的模式匹配约定。
说明
如果 string 与 pattern 匹配,则 result 为 True;如果不匹配,则 result 为 False。但是如果 string 或 pattern 中有一个为 Null,则 result 为 Null。
Like 运算符的特性随着 Option Compare 语句而不同。每个模块的缺省字符串比较方法是 Option Compare Binary。
在字符串比较中,Option Compare Binary 的结果是根据字符的内部二进制表示法导出的排序顺序得到的。在 Microsoft Windows 中,排序顺序由代码页决定。下例说明通常二进制的排序顺序:
A < B < E < Z < a < b < e < z < _ < _ < _ < _ < _ < ?/FONT>
在字符串比较中,Option Compare Text 的结果是字符串比较,它建立在不区分大小写的文本排序顺序基础上,而这一排序顺序是由系统的国别确定的。在对相同的字符使用 Option Compare Text 时会产生以下文本排序顺序:
(A=a) < (_=_) < (B=b) < (E=e) < (_=_) < (Z=z) < (_=_)
内建的模式匹配功能提供了多种工具来进行字符串比较。有了模式匹配功能就可以使用通配符、字符串列表或字符区间的任何组合来匹配字符串。下列表格指出 pattern 中允许的字符以及它们与什么进行匹配:
python 数据库模糊查询相关推荐
- python数据库模糊查询_Python操作mongodb数据库进行模糊查询操作示例
本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re ...
- python数据库模糊查询_python中数据库like模糊查询方式
python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...
- python数据库模糊查询_原创:Python编写通讯录,支持模糊查询,利用数据库存储...
1.要求 数据库存储通讯录,要求按姓名/电话号码查询,查询条件只有一个输入入口,自动识别输入的是姓名还是号码,允许模糊查询. 2.实现功能 可通过输入指令进行操作. (1)首先输入"add& ...
- vc mysql 查询_VC++数据库模糊查询及精确查询示例代码分享
VC++数据库模糊查询及精确查询示例代码分享是小编为大家带来的一个VC++电话簿程序中的模糊查询例子源代码,结合数据库,可以学习研究下简单一点的模糊查询和精确查询,希望能对大家有帮助,,赶紧来详细了解 ...
- Elasticsearch(ES)数据库模糊查询source下的数据
Elasticsearch(ES)数据库模糊查询source下的数据: 1.先全部匹配查看一下数据: 查询数据结果如下: 由图可以看到 总共返回数据条数为:4297. 我们根据source下的id 模 ...
- python mysql模糊查询_python中的mysql数据库like模糊查询
近期工作在使用python语言开发项目,工作中遇到了一个python连接mysql的like查询. 因为%在python中三个特殊的符号,如%s.%d分别代表了字符串占位符和数字占位符. 大家知道.m ...
- mysql数据库模糊查询简介
在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个 ...
- python sqlachemy模糊查询报错
python通过sqlachemy连接postgre进行模糊查询报错,代码如下: from sqlalchemy import create_engine engine = create_engine ...
- MySQL 数据库 模糊查询和聚合函数
模糊查询: like 运算符 通配符:%--代表0-n个任意字符 - --代表单个任意字符 注意:只有char.varchar.text类型才能使用 例子: select * from student ...
- 处理数据库模糊查询%,_问题(JAVA)
mybatis%_查询 本文章向大家介绍mybatis%_查询(hibernate也可用相同的处理方式),具有一定的参考价值,需要的朋友可以参考一下. 出现问题得原因 在我们做web项目 使用模糊查询 ...
最新文章
- concat mysql sql注入_sql注入-mysql注入基础及常用注入语句
- android广播接收器
- CVPR 2021 | 自适应激活函数ACON:统一ReLU和Swish的新范式
- MySQL授权命令grant的使用方法
- 各种类型Android源代码
- 为什么要在网站上主动放置沃通全球可信网站认证标志
- vue 请求在子组件加载后了_从零单排vue第九课--Vue实例及生命周期
- RHEL6基础之一系统内核Kernel与GNU计划及Linux发行版本
- 关于SRTM精度的讨论[文摘]
- 计算机网络 校园网规划与设计方案,校园网设计方案—计算机网络课作业
- cad中简单流程图制作,带控制点的工艺流程图cad_使用CAD绘制工艺流程图的方法步骤详解...
- 日本向日葵8号卫星数据下载
- 华为PUSH SDK 接入方法
- 新的分享之路开启,感谢您的陪伴
- 百度直播消息系统的实践和演进
- 【前端程序员的中秋节】中秋节,送你千盏孔明灯,万家灯火故事长
- 基于linux的oracle_rac实时应用集群研究,基于Linux的OracleRAC实时应用集群研究毕业设计论文(资料4)...
- CSP-J 2021 网络连接
- 苹果手机电池怎么保养_苹果手机信号差是网络问题还是手机问题
- jmeter的参数和请求后的参数不一致问题
热门文章
- xshell和xftp官网
- Linux内核学习篇三:中断处理 -- asm.s和traps.c
- 神策分析 Web JS SDK 功能介绍
- 技术内参 | 神策分析架构演进:“变”与“不变” 中的思索与创新
- 几款移动跨平台App开发框架比较
- css003 选择器:明确设置哪些样式
- a59s刷机包卡刷 oppo_OPPO A59S刷机包下载|OPPO A59S刷机包官方下载-太平洋下载中心...
- 实验:进程调度算法(C语言)
- (附源码)计算机毕业设计java宠物领养饲养交流管理平台
- 最新版微信上墙功能齐全无BUG版大屏幕+演示系统常用主题和音乐