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

问题描述 投票:0回答:1

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

我在员工数据库中有一个表,其中的列为[[名称,高度重量。如果我运行此代码,它将打印所需的排序,并且没有问题。但是,似乎这段代码基本上不会改变表的行顺序。我的意思是,现在,如果我运行

SELECT * FROM people;
在终端中,我得到了后面的表(它没有所需的顺序)。现在,我的问题是:

如何更改表的顺序以使用Python获得具有所需排序的新表?有可能

谢谢。
python mysql mysql-python
1个回答
0
投票
您可以像旧表一样创建一个新表,并以所需顺序插入行,否则请始终使用ORDER BY运行查询。

要创建新表,您可以运行类似于以下查询:

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

© www.soinside.com 2019 - 2024. All rights reserved.