L'opérateur LIKE est utilisé pour rechercher un modèle spécifié dans une colonne de la clause WHERE.
Grammaire :
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
pattern C'est ici que le modèle spécifié est placé, et "%" est utilisé ici, également appelé caractère générique
% S'il est placé avant la condition, il recherchera les données se terminant par... ; par exemple : %李
% S'il est placé après la condition, il recherchera les données commençant par.. .; par exemple : :李%
% Si elle existe avant et après la condition, alors les données incluses sont vérifiées par exemple : %李%
Petits points de connaissance ; :
#🎜 🎜#ERROR 1064 (42000) : Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près de "%z" à l'adresse ligne 1# 🎜🎜#
1064 l'erreur est que lors de la requête LIKE (erreur de syntaxe), le caractère générique n'est pas cité, donc l'erreur est signalée...
Correct afficher, par exemple : "%李%"# 🎜🎜#
Exemple 1 : Le terminal exécute SQL et utilise LIKE dans la clause WHERE
Interrogez le informations de la personne dont l'adresse commence par 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>
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>
Requête d'adresse Informations personnelles contenant des caractères zimport 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
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
Extension des points de connaissance : base de données MySQL comme requête floue en python
# 🎜🎜#% est un symbole spécial en python, tel que %s et %d, qui représentent respectivement des espaces réservés de chaîne et des espaces réservés numériques. Comme nous le savons tous, la requête floue de MySQL doit également utiliser %. Ainsi, vous pouvez d'abord extraire la chaîne que vous souhaitez vérifier, puis la transmettre en tant que paramètre.args = "%"+subtitle+"%" sqlQueryTitle="select count(*) from tbl_peng_article where title like "%s""%args
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!