Heim > Datenbank > MySQL-Tutorial > So verwenden Sie den LIKE-Operator der MySQL-Datenbank in Python

So verwenden Sie den LIKE-Operator der MySQL-Datenbank in Python

WBOY
Freigeben: 2023-05-31 21:46:10
nach vorne
1672 Leute haben es durchsucht

Der

LIKE-Operator wird verwendet, um in einer Spalte in der WHERE-Klausel nach einem angegebenen Muster zu suchen.

Syntax:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Nach dem Login kopieren

Muster Hier wird die angegebene Vorlage platziert und hier wird „%“ verwendet, auch Platzhalter genannt

% Wenn es vor der Bedingung platziert wird, wird nach Daten gesucht, die mit enden. ..; Wenn beispielsweise %李

% nach der Bedingung steht, werden die Daten gesucht, die mit... beginnen. Beispiel: Wenn 李%

% vor und nach der Bedingung vorhanden ist, sind es die enthaltenen Daten gesucht; zum Beispiel: % Li%

Tipps:

FEHLER 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, um die richtige Syntax in der Nähe von „%z“ zu finden " in Zeile 1

Der Fehler von 1064 besteht darin, dass während der LIKE-Abfrage (Syntaxfehler) das Platzhalterzeichen nicht in Anführungszeichen gesetzt wird, sodass der Fehler gemeldet wird...

Korrekte Anzeige, zum Beispiel: „%李%“

Beispiel 1: Das Terminal führt SQL aus und WHERE verwendet LIKE in der Klausel

Um die Informationen von Personen abzufragen, deren Adresse mit Hang beginnt

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>
Nach dem Login kopieren

Fragen Sie die Informationen von Personen ab, deren Adresse mit u endet

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>
Nach dem Login kopieren

Beispiel 2: Verwenden Sie ein Python-Skript, um die SQL-Anweisung auszuführen, die LIKE enthält.

Fragen Sie die Adresse ab, die z Personeninformationen von Zeichen enthält.

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
Nach dem Login kopieren
{"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
Nach dem Login kopieren

Fragen Sie die Personeninformationen von Zeichen ab, die keine z-Zeichen enthalten in Python

% ist ein spezielles Symbol in Python, z. B. %s und %d repräsentieren jeweils String-Platzhalter und numerische Platzhalter.

Wie wir alle wissen, erfordert die Fuzzy-Abfrage von MySQL auch die Verwendung von %.

Sie können also zuerst die Zeichenfolge extrahieren, die Sie überprüfen möchten, und sie dann als Parameter übergeben.

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den LIKE-Operator der MySQL-Datenbank in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage