python 의 my sql 데이터베이스 LIKE 연산 자 상세 설명
문법:
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 으로 시작 하 는 인원 정보
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 로 끝 나 는 인원 정보
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:LIKE 를 포함 한 sql 문 구 를 python 스 크 립 트 로 실행 합 니 다.조회 주소 z 문자 포함 인원 정보
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
{'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 연산 자 를 사용 하여 조회 가 완료 되 었 습 니 다...지식 포인트 확장:python 의 my sql 데이터베이스 like 퍼 지 조회
%s 는 python 에서 특수 한 기호 입 니 다.예 를 들 어%s,%d 는 각각 문자열 자리 표시 자 와 숫자 자리 표시 자 를 대표 합 니 다.
my sql 의 모호 한 조회 도%가 필요 하 다 는 것 을 잘 알 고 있 습 니 다.
따라서 먼저 찾 아야 할 문자열 을 추출 한 다음 매개 변수 로 입력 할 수 있 습 니 다.
args = '%'+subtitle+'%'
sqlQueryTitle="select count(*) from tbl_peng_article where title like '%s'"%args
python 의 my sql 데이터베이스 LIKE 연산 자 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 python my sql like 연산 자 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.