python中的mysql數(shù)據(jù)庫(kù)LIKE操作符詳解
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
語(yǔ)法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
pattern這里就是放指定模板的地方,而這里就要用到“ % ”,也叫做通配符
%如果是放在條件前面,那就是查以...結(jié)尾的數(shù)據(jù);例如:%李
%如果是放在條件后面,那就是查以...開(kāi)頭的數(shù)據(jù);例如:李%
%如果是在條件前后都存在,那就是查包含的數(shù)據(jù);例如:%李%
小知識(shí)點(diǎn):
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的錯(cuò)誤就是LIKE查詢(xún)時(shí)(語(yǔ)法錯(cuò)誤),通配符處沒(méi)加引號(hào),所以才會(huì)報(bào)錯(cuò)...
正確展示例如:"%李%"
示例1:終端運(yùn)行sql且WHERE子句中使用LIKE
查詢(xún)地址以Hang開(kāi)頭的人員信息
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>
查詢(xún)地址以u(píng)結(jié)尾的人員信息
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腳本執(zhí)行含LIKE的sql語(yǔ)句
查詢(xún)地址包含z字符的人員信息
import pymysql # 連接數(shù)據(jù)庫(kù) 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
{'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
查詢(xún)地址不包含z字符的人員信息
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
{'id': 1, 'name': '張三三', 'mobile': '17748484141', 'address': '浙江杭州'} {'id': 9, 'name': '111', 'mobile': '18847474549', 'address': '浙江杭州'} Process finished with exit code 0
至此,使用LIKE操作符查詢(xún)完畢...
知識(shí)點(diǎn)擴(kuò)展:python中的mysql數(shù)據(jù)庫(kù)like模糊查詢(xún)
%在python中是個(gè)特殊的符號(hào),如%s,%d分別代表了字符串占位符和數(shù)字占位符。
大家知道,mysql的模糊查詢(xún)也需要用到%。
所以,可以先把需要查的字符串抽出來(lái),再以參數(shù)方式傳入。
args = '%'+subtitle+'%' sqlQueryTitle="select count(*) from tbl_peng_article where title like '%s'"%args
到此這篇關(guān)于python中的mysql數(shù)據(jù)庫(kù)LIKE操作符詳解的文章就介紹到這了,更多相關(guān)python mysql like操作符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
常見(jiàn)的十種SQL語(yǔ)句性能優(yōu)化策略詳解
這篇文章主要介紹了常見(jiàn)的十種SQL語(yǔ)句性能優(yōu)化策略詳解,SQL語(yǔ)句性能優(yōu)化是提高數(shù)據(jù)庫(kù)查詢(xún)效率的關(guān)鍵步驟,可以減少查詢(xún)時(shí)間,提高系統(tǒng)響應(yīng)速度,本文將介紹一些常見(jiàn)的SQL語(yǔ)句性能優(yōu)化技巧,包括索引的使用、合理的查詢(xún)條件、避免全表掃描等,需要的朋友可以參考下2023-10-10SQL函數(shù)實(shí)現(xiàn)Group_concat用法
GROUP_CONCAT用于將每個(gè)分組內(nèi)的值連接成一個(gè)字符串,并通過(guò)指定的分隔符進(jìn)行分隔,本文主要介紹了SQL函數(shù)實(shí)現(xiàn)Group_concat用法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式
當(dāng)將xls或xlsx文件轉(zhuǎn)換為CSV并導(dǎo)入數(shù)據(jù)庫(kù)時(shí),可能出現(xiàn)亂碼,原因是編碼格式不是UTF-8,解決方法是使用Notepad或記事本打開(kāi)CSV文件,所以本文給大家介紹了MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式,需要的朋友可以參考下2024-08-08Mysql 9.0.0創(chuàng)新MSI安裝的實(shí)現(xiàn)
本文提供了MySQL 9.0.0版本的MSI安裝方法,包括安裝前的下載鏈接,安裝過(guò)程中的選項(xiàng)介紹,以及安裝完成后的配置指南,具有一定的參考價(jià)值,感興趣的可以了解一下2024-10-10MySQL group by對(duì)單字分組序和多字段分組的方法講解
今天小編就為大家分享一篇關(guān)于MySQL group by對(duì)單字分組序和多字段分組的方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較
這篇文章主要介紹了MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10SQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)檢索數(shù)據(jù)的直接轉(zhuǎn)換計(jì)算
這篇文章主要介紹了SQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)檢索數(shù)據(jù)的直接轉(zhuǎn)換計(jì)算,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09通過(guò)實(shí)例判斷mysql update是否會(huì)鎖表
這篇文章主要介紹了通過(guò)實(shí)例判斷mysql update是否會(huì)鎖表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09