python中的mysql數(shù)據(jù)庫LIKE操作符詳解
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
語法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
pattern這里就是放指定模板的地方,而這里就要用到“ % ”,也叫做通配符
%如果是放在條件前面,那就是查以...結(jié)尾的數(shù)據(jù);例如:%李
%如果是放在條件后面,那就是查以...開頭的數(shù)據(jù);例如:李%
%如果是在條件前后都存在,那就是查包含的數(shù)據(jù);例如:%李%
小知識點(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查詢時(shí)(語法錯(cuò)誤),通配符處沒加引號,所以才會報(bào)錯(cuò)...
正確展示例如:"%李%"
示例1:終端運(yùn)行sql且WHERE子句中使用LIKE
查詢地址以Hang開頭的人員信息
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結(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語句
查詢地址包含z字符的人員信息
import pymysql # 連接數(shù)據(jù)庫 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
查詢地址不包含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操作符查詢完畢...
知識點(diǎn)擴(kuò)展:python中的mysql數(shù)據(jù)庫like模糊查詢
%在python中是個(gè)特殊的符號,如%s,%d分別代表了字符串占位符和數(shù)字占位符。
大家知道,mysql的模糊查詢也需要用到%。
所以,可以先把需要查的字符串抽出來,再以參數(shù)方式傳入。
args = '%'+subtitle+'%' sqlQueryTitle="select count(*) from tbl_peng_article where title like '%s'"%args
到此這篇關(guān)于python中的mysql數(shù)據(jù)庫LIKE操作符詳解的文章就介紹到這了,更多相關(guān)python mysql like操作符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL函數(shù)實(shí)現(xiàn)Group_concat用法
GROUP_CONCAT用于將每個(gè)分組內(nèi)的值連接成一個(gè)字符串,并通過指定的分隔符進(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ù)庫時(shí),可能出現(xiàn)亂碼,原因是編碼格式不是UTF-8,解決方法是使用Notepad或記事本打開CSV文件,所以本文給大家介紹了MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式,需要的朋友可以參考下2024-08-08Mysql 9.0.0創(chuàng)新MSI安裝的實(shí)現(xiàn)
本文提供了MySQL 9.0.0版本的MSI安裝方法,包括安裝前的下載鏈接,安裝過程中的選項(xiàng)介紹,以及安裝完成后的配置指南,具有一定的參考價(jià)值,感興趣的可以了解一下2024-10-10MySQL group by對單字分組序和多字段分組的方法講解
今天小編就為大家分享一篇關(guān)于MySQL group by對單字分組序和多字段分組的方法講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較
這篇文章主要介紹了MySQL中關(guān)于datetime、date、time、str之間的轉(zhuǎn)化與比較,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10SQL實(shí)現(xiàn)對數(shù)據(jù)庫檢索數(shù)據(jù)的直接轉(zhuǎn)換計(jì)算
這篇文章主要介紹了SQL實(shí)現(xiàn)對數(shù)據(jù)庫檢索數(shù)據(jù)的直接轉(zhuǎn)換計(jì)算,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09