SQLAlchemy Table(表)类方式 - Table类和Column类
2024-10-15 18:21:33
Table 构造方法
Table(name, metadata[, *column_list][, **kwargs])
参数说明:
- name 表名
metadata
元数据对象column_list
是列(Column
或其他继承自SchemaItem
的对象)列表kwargs
主要内容:schema
: (None
)表的模式(一般默认是数据库名, 无需特别指定; Oracle中是owner
, 当一个数据库由多个用户管理时,用户的默认数据库不是要连接的数据库时,需要指定此项)autoload
: (False
)是否自动加载autoload_replace
: (True
)是否自动用元数据中加载的列替换column_list
中已经存在了的同名列- 为
True
时自动将column_list
中已经存在了的列替换为从元数据中加载的同名列 - 为
False
时会忽略元数据有,且column_list
中已经存在了的列
- 为
autoload_with
: 自动加载的引擎(Engine
)或连接(Connection
)对象- 为
None
时autoload
为True
时, 会从传递的metadata
中寻找引擎或连接对象
- 不为
None
时- 当
autoload
不为True
时,autoload
会自动被修改为True
- 当
- 为
comment
: 注释extend_existing
: (False
)当表已经存在于元数据中时,如果元数据中存在与column_list
中的列同名的列,column_list
中同名的列会替换掉元数据中已经有的列keep_existing
: (False
)当表已经存在于元数据中时,如果元数据中存在与column_list
中的列同名的列,column_list
中同名的列会被忽略include_columns
:(None
)从元数据中只需加载的表的列名列表mustexist
: (False
)表名是否一定需要存在于元数据中(不存在时引发异常)
常用SchemaItem
子类:
PrimaryKeyConstraint
ForeignKeyConstraint
注意,在使用不同版本的SQLAlchemy时,以上参数中:
- 老版本中可能部分参数还没有
- 新版本中可能废弃了部分参数
keep_existing
与extend_existing
互相排斥,不能同时传递为True
keep_existing
与extend_existing
适用于新建表对象;如果要创建新的表,表明已经存在于meta.tables
中时,需要指明任意一个参数,不然会报错。useexisting
已被废弃, 新版本使用extend_existing
Column的构造方法
Column([name, ]type_[, **kwargs])参数说明:
name
字段名type_
字段数据类型,这里的数据类型包括:
- SQLAlchemy中常用数据类型:
- 整数:
SmallInteger
、Integer
、BigInteger
等- 浮点数:
Float
、Numeric
等- 文本字符串:
String
、Text
、Unicode
、UnicodeText
、CHAR
、VARCHAR
等- 二进制字符串:
LargeBinary
、BINARY
、VARBINARY
等- 日期时间:
Date
、DateTime
、TIMESTAMP
等Constraint
: 约束ForeignKey
: 外键ColumnDefault
: 列默认值kwargs
主要内容:
autoincrement
: (False
)是否是主键default
: (None
)默认值index
: (None
)索引nullable
: (True
)是否可以为空(NULL
)primary_key
: (False
)是否是主键server_default
: (None
)服务端(数据库中的函数)默认值unique
: (False
)是否唯一comment
: (None
)列注释
最新文章
- Python开发:环境搭建(python3、PyCharm)
- 简单介绍智能DNS解析+双线路接入
- Bestcoder Round# 80
- oneThink安装出错解决
- CF109 C. Lucky Tree 并查集
- 20.allegro.铺铜[原创]
- zabbix 参数说明
- jQuery插件autoComplete使用
- Python基础教程学习(四)类的创建与继承
- 菜鸟的jQuery源码学习笔记(一)
- 新浪微博id的62进制转换
- 我理解的session和cookie
- CSS中position属性( absolute | relative | static | fixed )详解
- Vue2反向代理
- Ajax 与文件上传
- Unity 读写文本 文件
- 短连接、长连接与keep-alive
- Alibaba Cloud Toolkit for Eclipse &; ECS、EDAS 或容器服务 Kubernetes
- 【开源GPS追踪】 之 服务器硬伤
- 软工实践第二次作业-sudoku
热门文章
- python基础_类型_dict
- 渐变显示渐变消失的BackgroundView
- 解析苹果的官方例子LazyTableImages实现图片懒加载原理
- Linux stat命令详解
- 文件夹名为单字符时右击弹出C++错误
- (转)图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)
- java判断字符串内容
- 基于easyui开发Web版Activiti流程定制器详解(二)——文件列表
- docker学习笔记:简单构建Dockerfile【Docker for Windows】
- 一劳永逸部署项目:通过tomcat加载环境变量