python - 使用 Python 对 MySql 表的列进行排序
问题描述
我是 SQL 的初学者。
考虑我的简单代码:
cnx = mysql.connector.connect(user='root', password='',
host='127.0.0.1', database='employees')
cursor = cnx.cursor()
cursor.execute('SELECT * FROM people ORDER BY Height DESC, Weight')
my_result = cursor.fetchall()
cnx.close()
for x in my_result:
print(x[0], x[1], x[2])
我的员工数据库中有一个people表,其中包含name、Height和Weight列。如果我运行此代码,它会打印所需的排序并且没有问题。但是,似乎这段代码本质上并没有改变表的行顺序。我的意思是,现在如果我跑
SELECT * FROM people;
在终端中,我得到后一张表(没有所需的顺序)。现在,我的问题是:
如何更改表的顺序以使用 Python 获得具有所需排序的新表?有可能吗?
谢谢。
解决方案
您可以像旧表一样创建一个新表并以所需顺序插入行,否则始终使用 ORDER BY 运行查询。
要创建新表,您可以运行类似于以下内容的查询:
CREATE TABLE people_sorted LIKE people;
INSERT people_sorted SELECT * FROM people ORDER BY Height DESC, Weight;
推荐阅读
- symfony - 如何将 api-platform {id} 更改为其他名称?
- java - 在java中为两个不使用继承的类创建通用方法
- arrays - 如何在 Kotlin 中将对象、布尔值和长值添加到数组中?
- django - Heroku CI 和/或 Travis CI
- c++ - C ++如何使类函数成为不同命名空间中另一个类的朋友
- web-scraping - Scrapy Shell 响应 204
- php - PHP 未在主文件 (index.php) 上执行
- visual-studio - 我可以在 Azure 虚拟机上安全地禁用 Windows 功能 Hyper V
- javascript - Axios:未捕获(承诺中)类型错误:无法读取未定义的属性“协议”
- python - 定义方法中“Try,Except,Finally”的问题