如何使用 Python 在 MySQL 数据库中进行数据分组和排序操作

2023-04-04 00:00:00 分组 如何使用 数据库中

使用 Python 在 MySQL 数据库中进行数据分组和排序操作需要使用 MySQLdb 模块。

首先需要连接 MySQL 数据库:

import MySQLdb

# 连接数据库
db = MySQLdb.connect("localhost", "用户名", "密码", "数据库名")

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

接下来可以使用 SQL 语句进行分组和排序操作:

# 分组
sql = "SELECT COUNT(*) FROM 表名 GROUP BY 列名"
cursor.execute(sql)
results = cursor.fetchall()

# 排序
sql = "SELECT * FROM 表名 ORDER BY 列名 ASC/DESC"
cursor.execute(sql)
results = cursor.fetchall()

如果需要使用字符串作为范例,可以先创建一个表:

# 创建表
sql = "CREATE TABLE IF NOT EXISTS example (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255))"
cursor.execute(sql)

# 插入数据
sql = "INSERT INTO example (name) VALUES ('pidancode.com')"
cursor.execute(sql)

sql = "INSERT INTO example (name) VALUES ('皮蛋编程')"
cursor.execute(sql)

# 提交修改
db.commit()

然后进行分组和排序操作:

# 分组
sql = "SELECT COUNT(*) FROM example GROUP BY name"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    count = row[0]
    print("%s: %d" % ("pidancode.com" if count == 1 else "皮蛋编程", count))

# 排序
sql = "SELECT * FROM example ORDER BY name ASC"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    print("%d\t%s" % (id, name))

最后不要忘记关闭数据库连接:

# 关闭数据库连接
db.close()

相关文章