gpt4 book ai didi

python中的mysql数据库LIKE操作符详解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python中的mysql数据库LIKE操作符详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式.

语法:

?
1
2
3
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

pattern这里就是放指定模板的地方,而这里就要用到“ % ”,也叫做通配符 。

%如果是放在条件前面,那就是查以...结尾的数据;例如:%李 。

%如果是放在条件后面,那就是查以...开头的数据;例如:李% 。

%如果是在条件前后都存在,那就是查包含的数据;例如:%李% 。

小知识点:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%z' at line 1 。

1064的错误就是LIKE查询时(语法错误),通配符处没加引号,所以才会报错... 。

正确展示例如:"%李%" 。

示例1:终端运行sql且WHERE子句中使用LIKE 。

查询地址以Hang开头的人员信息 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@7c6316b19d80:/# mysql -u root -p
Enter password :
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 140
Server version: 5.6.51 MySQL Community Server (GPL)
 
mysql> mysql> select * from test_user where address like 'Hang%' ;
+ ----+--------+-------------+----------+
| id | name   | mobile      | address  |
+ ----+--------+-------------+----------+
|  3 | python | 18856565858 | Hangzhou |
|  4 | java   | 17756565858 | Hangzhou |
|  5 | php    | 15556565858 | Hangzhou |
|  6 | c#     | 17748484142 | Hangzhou |
+ ----+--------+-------------+----------+
4 rows in set (0.00 sec)
mysql>

查询地址以u结尾的人员信息 。

?
1
2
3
4
5
6
7
8
9
10
11
mysql> select * from test_user where address like '%u' ;
+ ----+--------+-------------+----------+
| id | name   | mobile      | address  |
+ ----+--------+-------------+----------+
|  3 | python | 18856565858 | Hangzhou |
|  4 | java   | 17756565858 | Hangzhou |
|  5 | php    | 15556565858 | Hangzhou |
|  6 | c#     | 17748484142 | Hangzhou |
+ ----+--------+-------------+----------+
4 rows in set (0.00 sec)
mysql>

示例2:使用python脚本执行含LIKE的sql语句 。

查询地址包含z字符的人员信息 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pymysql
 
# 连接数据库
connection = pymysql.connect(host = "localhost" , user = "root" , password = "123456" ,
                              database = "testing" , port = 3306 , charset = 'utf8' ,
                              cursorclass = pymysql.cursors.DictCursor)
 
try :
     with connection:
         with connection.cursor() as cursor:
             sql = """
                 SELECT
                     *
                 FROM
                     test_user
                 WHERE
                     address LIKE '%z%';
             """
             cursor.execute(sql)
             result = cursor.fetchall()
             for i in result:
                 print (i)
 
except pymysql.err.MySQLError as _error:
     raise _error
?
1
2
3
4
5
6
{ 'id' : 3 , 'name' : 'python' , 'mobile' : '18856565858' , 'address' : 'Hangzhou' }
{ 'id' : 4 , 'name' : 'java' , 'mobile' : '17756565858' , 'address' : 'Hangzhou' }
{ 'id' : 5 , 'name' : 'php' , 'mobile' : '15556565858' , 'address' : 'Hangzhou' }
{ 'id' : 6 , 'name' : 'c#' , 'mobile' : '17748484142' , 'address' : 'Hangzhou' }
 
Process finished with exit code 0

查询地址不包含z字符的人员信息 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
try :
     with connection:
         with connection.cursor() as cursor:
             sql = """
                 SELECT
                     *
                 FROM
                     test_user
                 WHERE
                     address NOT LIKE '%z%';
             """
             cursor.execute(sql)
             result = cursor.fetchall()
             for i in result:
                 print (i)
 
except pymysql.err.MySQLError as _error:
     raise _error
?
1
2
3
4
{ 'id' : 1 , 'name' : '张三三' , 'mobile' : '17748484141' , 'address' : '浙江杭州' }
{ 'id' : 9 , 'name' : '111' , 'mobile' : '18847474549' , 'address' : '浙江杭州' }
 
Process finished with exit code 0

至此,使用LIKE操作符查询完毕... 。

python中的mysql数据库LIKE操作符详解

知识点扩展:python中的mysql数据库like模糊查询 。

%在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符.

大家知道,mysql的模糊查询也需要用到%.

所以,可以先把需要查的字符串抽出来,再以参数方式传入.

?
1
2
args = '%' +subtitle+ '%'
sqlQueryTitle= "select count(*) from tbl_peng_article where title like '%s'" %args

到此这篇关于python中的mysql数据库LIKE操作符详解的文章就介绍到这了,更多相关python mysql like操作符内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/LIFENG0402/article/details/118369315 。

最后此篇关于python中的mysql数据库LIKE操作符详解的文章就讲到这里了,如果你想了解更多关于python中的mysql数据库LIKE操作符详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com