python 의 my sql 데이터베이스 LIKE 연산 자 상세 설명

LIKE 연산 자 는 WHERE 자구 에서 열 에서 지정 한 모드 를 검색 하 는 데 사 용 됩 니 다.
문법:

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 연산 자 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기