sqlalchemy字段与mysql数据库字段对应问题
2024-10-19 11:54:27
字段类型是在定义模型时, 对每个 Column
的类型约定. 不同类型的字段类型在输入输出上, 及支持的操作方面, 有所区别.
这里只介绍 sqlalchemy.types.*
中的类型, SQL 标准类型方面, 是写什么最后生成的 DDL 语句就是什么, 比如 BIGINT
, BLOG
这些, 但是这些类型并不一定在所有数据库中都有支持. 除此而外, SQLAlchemy 也支持一些特定数据库的特定类型, 这些需要从具体的 dialects
实现里导入.
- Integer/BigInteger/SmallInteger
- 整形.
- Boolean
- 布尔类型. Python 中表现为
True/False
, 数据库根据支持情况, 表现为BOOLEAN
或SMALLINT
. 实例化时可以指定是否创建约束(默认创建). - Date/DateTime/Time
(timezone=False)
- 日期类型,
Time
和DateTime
实例化时可以指定是否带时区信息. - Interval
- 时间偏差类型. 在 Python 中表现为
datetime.timedelta()
, 数据库不支持此类型则存为日期. - Enum
(*enums, **kw)
- 枚举类型, 根据数据库支持情况, SQLAlchemy 会使用原生支持或者使用
VARCHAR
类型附加约束的方式实现. 原生支持中涉及新类型创建, 细节在实例化时控制. - Float
- 浮点小数.
- Numeric
(precision=None, scale=None, decimal_return_scale=None, ...)
- 定点小数, Python 中表现为
Decimal
. - LargeBinary
(length=None)
- 字节数据. 根据数据库实现, 在实例化时可能需要指定大小.
- PickleType
- Python 对象的序列化类型.
- String
(length=None, collation=None, ...)
- 字符串类型, Python 中表现为
Unicode
, 数据库表现为VARCHAR
, 通常都需要指定长度. - Unicode
- 类似与字符串类型, 在某些数据库实现下, 会明确表示支持非 ASCII 字符. 同时输入输出也强制是
Unicode
类型. - Text
- 长文本类型, Python 表现为
Unicode
, 数据库表现为TEXT
. - UnicodeText
- 参考 Unicode .
最新文章
- The SQL Server Service Broker for the current database is not enabled
- Nginx中文详解、配置部署及高并发优化
- [No000089]String的(补空位)左对齐,(补空位)右对齐
- VC维含义
- python3 字典相关函数
- maven install与maven package 的区别
- python基础:day3作业
- Bootstrap之表格checkbox复选框全选 [转]
- GMM高斯混合模型学习笔记(EM算法求解)
- TortoiseGit安装与使用
- 洛谷P3275 [SCOI2011]糖果
- JavaScript学习备忘
- MySQL服务使用
- 【SQL】SqlServer中Group By后,字符串合并
- spark优化设置
- 微信小程序与Vue js数据渲染对比
- 在JavaScript文件中用ajax方法实现省市区的三级联动
- Mybatis 从入门到精通一:mybatis的入门
- 依赖注入(一)构造函数注入(PHP)
- hololens DEP2220: 无法删除目标计算机“127.0.0.1”上的文件夹