📅  最后修改于: 2023-12-03 14:46:00.669000             🧑  作者: Mango
在MySQL中,LIKE()
运算符用于查询与指定模式匹配的数据。Python可以使用mysql-connector-python
模块来连接MySQL数据库,并使用SQL语句来执行各种操作。
可以在命令行中使用以下命令安装mysql-connector-python模块:
pip install mysql-connector-python
使用以下代码连接到MySQL数据库:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
在LIKE()运算符中使用通配符可以匹配任意字符。MySQL中有两个通配符:
%
)代表0个或多个字符。_
)代表一个字符。例如,假设有以下数据:
| 名称 | | -------- | | apple | | banana | | avocado | | pineapple| | lemons |
以下代码查询所有以“a”开头且以“e”结尾的名称:
sql = "SELECT * FROM fruits WHERE name LIKE 'a%e'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
输出:
('avocado',)
以下代码查询所有包含“n”的名称:
sql = "SELECT * FROM fruits WHERE name LIKE '%n%'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
输出:
('banana',)
('pineapple',)
以下代码查询所有以“_e”结尾的名称:
sql = "SELECT * FROM fruits WHERE name LIKE '_e'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
输出:
('lemons',)
MySQL提供了反义符号(^
)来匹配不包含某些字符的模式。例如,以下代码查询不包含“e”的名称:
sql = "SELECT * FROM fruits WHERE name LIKE '%^e%' ESCAPE '^'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
输出:
('apple',)
('banana',)
('pineapple',)
LIKE()
运算符是MySQL中一个非常有用的功能,它使您可以对数据进行复杂的模式匹配。Python通过mysql-connector-python
模块可以很轻松地连接到MySQL数据库,并执行各种操作。