LIKE 연산자는 WHERE 절의 열에서 지정된 패턴을 검색하는 데 사용됩니다.
구문:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
pattern 지정된 템플릿이 배치되는 곳이며, 여기서는 와일드카드
%라고도 하는 "%"가 사용됩니다. 조건 앞에 배치되면 다음으로 끝나는 데이터를 검색합니다. ..; 예를 들어, %lee
%가 조건 뒤에 오면...으로 시작하는 데이터가 검색됩니다. 예를 들어, 조건 앞뒤에 李%
%가 있으면 포함된 데이터는 다음과 같습니다. 예: % Li%
팁:
ERROR 1064 (42000): SQL 구문에 오류가 있습니다. "%z 근처에서 사용할 올바른 구문은 MySQL 서버 버전에 해당하는 설명서를 확인하세요. " at line 1
1064의 오류는 LIKE 쿼리(구문 오류) 중에 와일드카드 문자가 인용되지 않아 오류가 보고된다는 것입니다...
올바른 표시, 예: "%lee%"
예제 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: Python 스크립트를 사용하여 LIKE가 포함된 SQL 문을 실행
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
지식 포인트 확장: 퍼지 쿼리와 같은 mysql 데이터베이스 python
%는 Python의 특수 기호입니다. 예를 들어 %s 및 %d는 각각 문자열 자리 표시자와 숫자 자리 표시자를 나타냅니다.
우리 모두 알고 있듯이 mysql의 퍼지 쿼리에도 %를 사용해야 합니다.
그래서 먼저 확인하고 싶은 문자열을 추출한 후 매개변수로 전달하면 됩니다.
아아아아위 내용은 Python에서 mysql 데이터베이스 LIKE 연산자를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!