flask-SQLAlchemy column属性和数据类型(
2020-10-09 本文已影响0人
忘了呼吸的那只猫
db.Column 中其余的参数指定属性的配置选项。
属性 | 说 明 |
---|---|
primary_key | 如果设为 True,这列就是表的主键 |
unique | 如果设为 True,这列不允许出现重复的值 |
index | 如果设为 True,为这列创建索引,提升查询效率 |
nullable | 如果设为 True,这列允许使用空值;如果设为 False,这列不允许使用空值 |
default | 为这列定义默认值 |
常用数据类型
数据类型 | 说明 |
---|---|
Integer | 整形,映射到数据库中是int类型。 |
Float | 浮点类型,映射到数据库中是float类型。他占据的32位。 |
Double | 双精度浮点类型,映射到数据库中是double类型,占据64位。 |
String | 可变字符类型,映射到数据库中是varchar类型. |
Boolean | 布尔类型,映射到数据库中的是tinyint类型。 |
DECIMAL | 定点类型。是专门为了解决浮点类型精度丢失的问题的。在存储钱相关的字段的时候建议大家都使用这个数据类型。并且这个类型使用的时候需要传递两个参数,第一个参数是用来标记这个字段总能能存储多少个数字,第二个参数表示小数点后有多少位。 |
Enum | 枚举类型。指定某个字段只能是枚举中指定的几个值,不能为其他值。在ORM模型中,使用Enum来作为枚举 |
Date | 存储时间,只能存储年月日。映射到数据库中是date类型。在Python代码中,可以使用datetime.date来指定 |
DateTime | 存储时间,可以存储年月日时分秒毫秒等。映射到数据库中也是datetime类型。在Python代码中,可以使用datetime.datetime来指定。示例代码如下: |
Time | 存储时间,可以存储时分秒。映射到数据库中也是time类型。在Python代码中,可以使用datetime.time来至此那个。 |
Text | 存储长字符串。一般可以存储6W多个字符。如果超出了这个范围,可以使用LONGTEXT类型。映射到数据库中就是text类型。 |
LONGTEXT | 长文本类型,映射到数据库中是longtext类型。 |