pythonsqllike(SQL中like的用法)

1.SQL中like的用法

测试表.

CREATE TABLE test_like (

like_value VARCHAR(20)

);

INSERT INTO test_like

SELECT '1234567890' UNION ALL

SELECT '12345' UNION ALL

SELECT 'abca' UNION ALL

SELECT 'adcb' UNION ALL

SELECT 'abcc' UNION ALL

SELECT 'abcd' UNION ALL

SELECT 'abcde' UNION ALL

SELECT 'xyz 10% OFF' UNION ALL

SELECT 'xyz 20% OFF' UNION ALL

SELECT 'xyz_123_abc'

_ 表示仅仅匹配1个字符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '1234_';

like_value

--------------------

12345

(1 行受影响)

% 表示仅仅匹配0个或多个字符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '12345%';

like_value

--------------------

1234567890

12345

(2 行受影响)

使用模式匹配

SELECT

*

FROM

test_like

WHERE

like_value LIKE 'abc[ad]';

like_value

--------------------

abca

abcd

(2 行受影响)

SELECT

*

FROM

test_like

WHERE

like_value LIKE '[1a]%[5e]';

like_value

--------------------

12345

abcde

(2 行受影响)

使用 ESCAPE 定义转义符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '%!%%' ESCAPE '!';

like_value

--------------------

xyz 10% OFF

xyz 20% OFF

(2 行受影响)

SELECT

*

FROM

test_like

WHERE

like_value LIKE '%!_%' ESCAPE '!';

like_value

--------------------

xyz_123_abc

(1 行受影响)

2.在sql语句中,like所有的用法

在sql结构化查询语言中,like语句有着至关重要的作用。

like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

A:% 包含零个或多个字符的任意字符串:

1、like'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

2、like'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

B:_(下划线) 任何单个字符:

like'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。

C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:

1,like'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

2、like'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。

D:[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符:

like'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。

E:* 它同于DOS命令中的通配符,代表多个字符:

c*c代表cc,cBc,cbc,cabdfec等多个字符。

F:?同于DOS命令中的?通配符,代表单个字符 :

b?b代表brb,bFb等

G:# 大致同上,不同的是代只能代表单个数字。k#k代表k1k,k8k,k0k 。

下面我们来举例说明一下:

例1,查询name字段中包含有“明”字的。

select * from table1 where name like '%明%'

例2,查询name字段中以“李”字开头。

select * from table1 where name like '李*'

例3,查询name字段中含有数字的。

select * from table1 where name like '%[0-9]%'

例4,查询name字段中含有小写字母的。

select * from table1 where name like '%[a-z]%'

例5,查询name字段中不含有数字的。

select * from table1 where name like '%[!0-9]%'

以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。

很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?先看看下面的例子能分别出现什么结果:

select * from table1 where name like '*明*'

select * from table1 where name like '%明%'

大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。

3.python,sql字符串里边用到百"分号'地'",而且sql里有"喜欢 '%%'"

>> name = 'your name'

>>> sqlscript = "select * from table where name like '%%%s%%'" % name

>>> sqlscript

"select * from table where name like '%your name%'"

>>>

or

>>> name = '%your name%'

>>> sqlscript = "select * from table where name like '%s'" % name

>>> sqlscript

"select * from table where name like '%your name%'"

>>>

or

>>> name = 'your name'

>>> sqlscript = "select * from table where name like '%s'"

>>> print sqlscript % ("%"+name+"%")

select * from table where name like '%your name%'

>>>

4.sql 中 like 语句的用法

测试表.

CREATE TABLE test_like (

like_value VARCHAR(20)

);

INSERT INTO test_like

SELECT '1234567890' UNION ALL

SELECT '12345' UNION ALL

SELECT 'abca' UNION ALL

SELECT 'adcb' UNION ALL

SELECT 'abcc' UNION ALL

SELECT 'abcd' UNION ALL

SELECT 'abcde' UNION ALL

SELECT 'xyz 10% OFF' UNION ALL

SELECT 'xyz 20% OFF' UNION ALL

SELECT 'xyz_123_abc'

_ 表示仅仅匹配1个字符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '1234_';

like_value

--------------------

12345

(1 行受影响)

% 表示仅仅匹配0个或多个字符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '12345%';

like_value

--------------------

1234567890

12345

(2 行受影响)

使用模式匹配

SELECT

*

FROM

test_like

WHERE

like_value LIKE 'abc[ad]';

like_value

--------------------

abca

abcd

(2 行受影响)

SELECT

*

FROM

test_like

WHERE

like_value LIKE '[1a]%[5e]';

like_value

--------------------

12345

abcde

(2 行受影响)

使用 ESCAPE 定义转义符

SELECT

*

FROM

test_like

WHERE

like_value LIKE '%!%%' ESCAPE '!';

like_value

--------------------

xyz 10% OFF

xyz 20% OFF

(2 行受影响)

SELECT

*

FROM

test_like

WHERE

like_value LIKE '%!_%' ESCAPE '!';

like_value

--------------------

xyz_123_abc

(1 行受影响)

pythonsqllike

转载请注明出处代码入门网 » pythonsqllike(SQL中like的用法)

资讯

pythonsort复杂度(pythonsort用法)

阅读(47)

本文主要为您介绍pythonsort复杂度,内容包括pythonsort()用法,Python里的sort语句,python编程中,选择排序算法是一个时间复杂度为什么的算法。Python中的sort()方法用于数组排序,下面以实例形式对此加以详细说明:基本形式列表有自己的sort方法,

资讯

python3nginxcentos(centos怎么装python3)

阅读(34)

本文主要为您介绍python3nginxcentos,内容包括Django对Python3系列版本的支持如何,centos怎么装python3,centos怎么装python3。在https://www.python.org/ftp/python/下找到您所需的python版本如https://www.pytho

资讯

pythondictdelete(python中字典用完了怎么删除)

阅读(39)

本文主要为您介绍pythondictdelete,内容包括python中字典用完了怎么删除,Python中如何删除字典元素,后台接口怎么通过python的requests.delete删除实例。您python中字典用完了为什么要删除呢?是想为了节省空间?那么,若dict_1 = {1:"abc", 2:"bcd",

资讯

OpenFOAMpython(怎么在python中安装opencv2)

阅读(33)

本文主要为您介绍OpenFOAMpython,内容包括StacklessPython到底是什么东东和Python什么关系,怎么设置python中open的buffering参数,怎么在python中安装opencv2。1.到文末下载OpenCV的安装包。其实这个安装包就是一个解压缩。2.在安装包解压

资讯

windowsmxnetpython(新人求助windows下netsnmp怎么连接Python)

阅读(33)

本文主要为您介绍windowsmxnetpython,内容包括如何装mxnet的python环境,mxnet下怎么进行pythontrain,新人求助windows下netsnmp怎么连接Python。由于需要练手,准备将nagios的bash shell/perl监控脚本改用python写,而监控机上yum安装的net-snm

资讯

pythonmissingprint(出现missingparenthesesiscallto'print'怎么解决)

阅读(30)

本文主要为您介绍pythonmissingprint,内容包括出现'print'怎么解决,Python出现错误,怎么解决,求解,python出现missingdocstring求高手帮忙。原因:“missing parentheses is call to print”是指程序错误,是由于系统出现错误而导致的,

资讯

pythonredis持久化(如何设置redis一秒钟持久化一次)

阅读(41)

本文主要为您介绍pythonredis持久化,内容包括python如何做持久化,如何设置redis一秒钟持久化一次,什么是Redis持久化。此外,我还讨论过较为常见的基于服务器的数据存储,比如MongoDB和CouchDB。每个数据存储都有其优势和劣势,特别是当应用于特

资讯

pythonturtle画花(如何用pythonturtle画玫瑰花)

阅读(39)

本文主要为您介绍pythonturtle画花,内容包括如何用pythonturtle画玫瑰花,如何用pythonturtle画心,怎么用python画玫瑰花,求大神贴代码,感激不尽。操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令1. 运

资讯

python归一化(怎样利用Python进行图片分析)

阅读(32)

本文主要为您介绍python归一化,内容包括python怎么做均值方差归一化,怎样利用Python进行图片分析,python怎么做均值方差归一化。from PIL import Image ### 此处为导出包,注意字母大小写import os, os.path# 指明被遍历的文件

资讯

pythonlibrary中文版(如何安装Python图型处理库PythonImagingLibrary)

阅读(31)

本文主要为您介绍pythonlibrary中文版,内容包括pythonidle怎么调成中文版,有没有特别推荐的资料或教材LearningPython怎么样中文版,Python有没有中文版的。在Python中对图片的处理采用了PIL库,这个库可用于图片的一些常用操作,如改变尺寸、格

资讯

pythonosgeo安装(pythonanaconda怎么安装)

阅读(39)

本文主要为您介绍pythonosgeo安装,内容包括pythonanaconda怎么安装,QGIS中怎么安装Python第三方库,python怎么安装xlrd。Anaconda的安装 Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。安装时,会发现有两个不同版本的A

资讯

pythonselenium拖动(pythonseleniumdrag)

阅读(30)

本文主要为您介绍pythonselenium拖动,内容包括()和draganddropwithoffset()怎,Python+selenium+Chrome,滚动条的问题,怎么使用python进行selenium。用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右

资讯

pythonseries合并(python中对已经生成的Series,怎样组合成DataFrame)

阅读(35)

本文主要为您介绍pythonseries合并,内容包括python中对已经生成的Series,怎样组合成DataFrame,如何在python中把两个列表的各项分别合并为列表,python如何合并两个列表的内容。zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列

资讯

win32processpython(怎样使用python查询系统某一进程是否存在)

阅读(1)

本文主要为您介绍win32processpython,内容包括pythonwin32是什么?pythoncom如何理解,怎样使用python查询系统某一进程是否存在,怎样使用python查询系统某一进程是否存在。只需要一小段python代码,就可以解决用python查询判断系统进程是否存

资讯

python新建对象(python中怎么用类创建对象)

阅读(2)

本文主要为您介绍python新建对象,内容包括python中怎么用类创建对象,python如何定义新对象,python如何定义新对象。class BaseObject(object):def __init__(self, **kwg):self.__dict__ = d

资讯

pythonsslurllib(python报错urllib.error.URLError:)

阅读(1)

本文主要为您介绍pythonsslurllib,内容包括pythonurllib怎么用,pythonurllib,pythonhttplib2urllib区别。jango站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown ur

资讯

python变量替换(python中的变量替换怎么使用)

阅读(1)

本文主要为您介绍python变量替换,内容包括python中的变量替换怎么使用,Python怎样用变量替换字符串?,怎样通过参数替换python脚本里的变量值。1. 使用连接符: +world = "World"print "Hello " + world + " ! "2. 使用占位符来内插w

资讯

pythonraise用法(python中可以使用if作为变量名吗)

阅读(1)

本文主要为您介绍pythonraise用法,内容包括python中可以使用if作为变量名吗,Python新手,Python中except的用法和作用是什么?请指教,python当中的迭代器如何使用?举例说明,谢谢。不可以,if为python保留的字符下面的列表显示了在 Python 中的

资讯

sparkpythonhbase(有没有Python写的spark连接Hbase的例子)

阅读(2)

本文主要为您介绍sparkpythonhbase,内容包括有没有Python写的spark连接Hbase的例子,如何提高python写hbase的性能,spark读hbaseparquet哪个快。博主项目实践中,经常需要用Spark从Hbase中读取数据。其中,spark的版本为1.6,hbase的版本为0.98。

资讯

python文字编码转换(python如何将乱码转成汉字)

阅读(1)

本文主要为您介绍python文字编码转换,内容包括python字符编码转换,python如何将乱码转成汉字,python编码转换。python2与python3稍微有点区别2、python2中默认的字符编码格式都是unicode,在字符串前加u,表示unicode

资讯

python相除取整数(python为什么算除法自动取整了)

阅读(1)

本文主要为您介绍python相除取整数,内容包括python2.7.12中如何引用模块做整数相除,python2.7.12引用模块做整数除法,python除数向上取整怎么写,就是0.3取12.6取3这种,我5/10得到。在2.x版本都是这样,会自动取整。在3.x版本以上改了,结果保留