使用sqlite数据库引擎的peewee字段类型的确切限制是什么?

2024-04-19 21:58:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始在sqlite数据库引擎中使用peewee,对于应该使用什么字段类型有很多困惑。我现在为自己编写小脚本,所以性能不是问题,但由于数据类型限制可能导致的数据丢失是问题所在。你知道吗

在官方的peewee documentation上列出了很多类型,尽管没有提供关于它们的信息。我希望它们的限制能以更明确的方式提供,比如w3 did。你知道吗

我现在正在进行各种测试,得到了很好的结果。像IntegerField一样,BigIntegerField和SmallIntegerField实际上映射在同一列类型中(为什么要使它们不同呢?)。CharField映射到VARCHAR(255),但是我可以在那里存储大量的文本-这是安全的还是应该被视为不可预测的行为?FixedCharField也允许存储大的文本,但是在不截断的情况下破坏它们,等等。我也在研究sqlite documentation,但是只引入了5种基本类型。虽然我在SQLite的DB browser和PyCharm的DB browser extension中清楚地看到,peewee实际上使用了更广泛的映射(比如说,使用SQLite没有引入的VARCHAR)或以自己的方式解释现有类型(比如,allow to.save(),在BooleanField中将大量的值截断为0或1)。你知道吗

在最好的情况下,我希望知道使用sqlite引擎时所有25个字段类型之间的确切限制和区别。不过,如果只知道存储整数、浮点、文本和任意二进制数据的最大限制的字段类型就好了——在这些通用类别中——我应该选择哪种类型来安全地存储最多的数据量?你知道吗


Tags: 数据引擎文本browser脚本数据库类型db
1条回答
网友
1楼 · 发布于 2024-04-19 21:58:15

Sqlite只有5种类型:text、int、real(float)、blob和null。你知道吗

Varchar、char、text等都被视为文本。长度无关紧要。你知道吗

Integer、smallint、bigint等被视为INT。Sqlite使用64位INT。你知道吗

阅读Sqlite文档,它将解释这一切:

https://www.sqlite.org/datatype3.html

相关问题 更多 >