使用 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;
我是 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;