使用python创建一个已排序的sqlite数据库

时间:2018-04-25 17:45:54

标签: python sqlite

我正在尝试创建一个名为“Counts”的数据库,用于跟踪特定电子邮件地址发送电子邮件的次数。从文本文件中解析数据,并使用python创建数据库。

我的代码如下所示:

`"SELECT * FROM Counts ORDER BY count DESC"` 

代码生成完美的数据库,但没有订购。使用上面提到的

std::string

命令我可以在sqlitebrowser中对数据库进行排序。以某种方式,当集成在python代码中时,即使我在订购命令后使用提交也无法工作。

提前致谢。

1 个答案:

答案 0 :(得分:3)

命令for不对数据库本身重新排序,它只是对select语句的结果进行排序。

更基本的是,cur.execute('SELECT * FROM Counts ORDER BY count DESC')语句不会修改任何内容。它只返回您要求的行列表。

如果要更改数据库中行的顺序,则需要使用SELECTUPDATE命令来执行此操作,但在您的情况下,您可能实际上并非如此想要这样做。最好只使用INSERT对结果进行排序。

由于sqlite的工作原理,依赖结果存储在数据库中的顺序通常不是一个好主意。有关如何在sqlite中排序行的更多信息,请参阅文档:https://www.sqlite.org/rowidtable.html

sqlite表使用' rowid'按订单默认。