我正在尝试创建一个名为“Counts”的数据库,用于跟踪特定电子邮件地址发送电子邮件的次数。从文本文件中解析数据,并使用python创建数据库。
我的代码如下所示:
`"SELECT * FROM Counts ORDER BY count DESC"`
代码生成完美的数据库,但没有订购。使用上面提到的
std::string
命令我可以在sqlitebrowser中对数据库进行排序。以某种方式,当集成在python代码中时,即使我在订购命令后使用提交也无法工作。
提前致谢。
答案 0 :(得分:3)
命令for
不对数据库本身重新排序,它只是对select语句的结果进行排序。
更基本的是,cur.execute('SELECT * FROM Counts ORDER BY count DESC')
语句不会修改任何内容。它只返回您要求的行列表。
如果要更改数据库中行的顺序,则需要使用SELECT
或UPDATE
命令来执行此操作,但在您的情况下,您可能实际上并非如此想要这样做。最好只使用INSERT
对结果进行排序。
由于sqlite的工作原理,依赖结果存储在数据库中的顺序通常不是一个好主意。有关如何在sqlite中排序行的更多信息,请参阅文档:https://www.sqlite.org/rowidtable.html
sqlite表使用' rowid'按订单默认。