📜  Python MySQL – 按子句排序(1)

📅  最后修改于: 2023-12-03 15:18:56.719000             🧑  作者: Mango

Python MySQL – 按子句排序

在使用Python连接MySQL数据库时,有时需要按照特定的列或字段排序数据。排序可以使用ORDER BY子句,它可以按照升序或降序来排序数据。

SQL语句示例

下面是一个简单的SQL语句示例,它使用ORDER BY子句来按照customer_id升序排列orders表中的所有行:

SELECT * FROM orders
ORDER BY customer_id ASC

下面是另一个SQL语句示例,它使用ORDER BY子句来按照order_date降序排列orders表中的所有行:

SELECT * FROM orders
ORDER BY order_date DESC
Python实现

下面是Python的实现示例,使用pymysql模块连接MySQL数据库,并按照country升序排列employees表中的所有行:

import pymysql

# 连接到数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    database='testdb'
)

# 创建游标对象
cursor = conn.cursor()

# 使用SQL语句按照country升序排列employees表中的所有行
sql = "SELECT * FROM employees ORDER BY country ASC"

# 执行SQL语句
cursor.execute(sql)

# 获取所有行
rows = cursor.fetchall()

# 输出行
for row in rows:
    print(row)

# 关闭游标和连接
cursor.close()
conn.close()
Python Pandas实现

下面是Python Pandas的实现示例,使用pymysql和pandas模块连接MySQL数据库,并按照age降序排列persons表中的所有行:

import pymysql
import pandas as pd

# 连接到数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    database='testdb'
)

# 创建SQL语句
sql = "SELECT * FROM persons ORDER BY age DESC"

# 使用pandas读取数据库表格
df = pd.read_sql(sql, conn)

# 输出表格
print(df)

# 关闭连接
conn.close()

注意,在pandas中使用read_sql时,需要传递一个已经连接的connection对象。输出结果会是一个DataFrame对象。