使用 Python 对 MySql table 的列进行排序

Ordering the columns of MySql table using Python

我是 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])

我的 employees 数据库中有一个 people table 列 name身高体重。如果我 运行 此代码,它会打印所需的排序并且没有问题。但是,这段代码似乎基本上没有改变 table 的行顺序。我的意思是,现在如果我 运行

SELECT * FROM people;

在终端中我得到后者 table (它没有所需的顺序)。现在,我的问题是:

如何更改 table 的顺序以使用 Python[=39= 获得具有所需排序的新 table ]?可以吗?

谢谢。

您可以像旧的那样创建一个新的 table 并插入具有所需顺序的行,否则总是 运行 使用 ORDER BY 的查询。

要创建新的 table,您可以 运行 类似于以下内容的查询:

CREATE TABLE people_sorted LIKE people; 
INSERT people_sorted SELECT * FROM people ORDER BY Height DESC, Weight;