Python读取MySQL数据条件查询:灵活筛选目标数据
发布时间: 2024-06-24 00:47:13 阅读量: 87 订阅数: 32
![python读取mysql数据](https://img-blog.csdnimg.cn/img_convert/6ecd2eaea0d5c31173c57a77da9f311a.png)
# 1. Python与MySQL数据库连接**
Python与MySQL数据库的连接是进行数据操作的基础。本节将介绍如何使用Python的MySQLdb库连接MySQL数据库,并提供详细的代码示例。
```python
import MySQLdb
# 连接数据库
db = MySQLdb.connect(host="localhost", user="root", password="password", db="database_name")
# 获取游标
cursor = db.cursor()
# 执行查询
cursor.execute("SELECT * FROM table_name")
# 获取查询结果
results = cursor.fetchall()
# 关闭游标和数据库连接
cursor.close()
db.close()
```
# 2. Python条件查询MySQL数据
在掌握了Python连接MySQL数据库的基本操作后,我们进一步探讨如何使用Python对MySQL数据进行条件查询。条件查询允许我们根据特定条件筛选数据,从而获得更精准的结果。
### 2.1 基本条件查询
基本条件查询是最简单的条件查询形式,它允许我们根据单个条件对数据进行筛选。
#### 2.1.1 等值查询
等值查询是最常见的条件查询类型,它用于查找与指定值相等的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE column_name = value")
```
例如,查找所有名为"John"的学生:
```python
cursor.execute("SELECT * FROM students WHERE name = 'John'")
```
#### 2.1.2 范围查询
范围查询用于查找介于指定范围内的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE column_name BETWEEN start_value AND end_value")
```
例如,查找所有年龄在18到25岁之间的学生:
```python
cursor.execute("SELECT * FROM students WHERE age BETWEEN 18 AND 25")
```
#### 2.1.3 模糊查询
模糊查询用于查找包含指定字符序列的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE column_name LIKE '%pattern%'")
```
例如,查找所有名字中包含"an"字符的学生:
```python
cursor.execute("SELECT * FROM students WHERE name LIKE '%an%'")
```
### 2.2 复合条件查询
复合条件查询允许我们使用多个条件对数据进行筛选。
#### 2.2.1 AND条件
AND条件用于查找同时满足多个条件的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE condition1 AND condition2")
```
例如,查找所有年龄在18到25岁之间且名字中包含"an"字符的学生:
```python
cursor.execute("SELECT * FROM students WHERE age BETWEEN 18 AND 25 AND name LIKE '%an%'")
```
#### 2.2.2 OR条件
OR条件用于查找满足其中一个条件的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE condition1 OR condition2")
```
例如,查找所有年龄在18到25岁之间或名字中包含"an"字符的学生:
```python
cursor.execute("SELECT * FROM students WHERE age BETWEEN 18 AND 25 OR name LIKE '%an%'")
```
#### 2.2.3 NOT条件
NOT条件用于查找不满足指定条件的记录。语法如下:
```python
cursor.execute("SELECT * FROM table_name WHERE NOT condition")
```
例如,查找所有年龄不在18到25岁之间的学生:
```python
cursor.execute("SELECT * FROM students WHERE NOT age BETWEEN 18 AND 25")
```
# 3. Python条件查询MySQL数据实践
### 3.1 查询特定列数据
**需求:**查询表中特定列的数据,例如只查询姓名列
0
0