SQLAlchemy Table(表)类方式 - Table类和Colu…
2018-10-26 05:29:22来源:博客园 阅读 ()
Table 构造方法
1 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
)列注释
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python 之 并发编程(线程理论,开启线程的两种方式,进程 2019-07-24
- Python多进程方式抓取基金网站内容的方法分析 2019-07-24
- python 之 并发编程(开启子进程的两种方式,进程对象的属性 2019-07-24
- Python 用(无脑 and 有脑)方式解决小练习 2019-07-24
- 微信推送功能实现 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash