标签:存在 用户 ble 默认值 constrain 异常 方法 server one
Table 构造方法
1 Table(name, metadata[, *column_list][, **kwargs])
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
keep_existing
与extend_existing
互相排斥,不能同时传递为True
keep_existing
与extend_existing
适用于新建表对象;如果要创建新的表,表明已经存在于meta.tables
中时,需要指明任意一个参数,不然会报错。useexisting
已被废弃, 新版本使用extend_existing
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
)列注释
SQLAlchemy Table(表)类方式 - Table类和Column类
标签:存在 用户 ble 默认值 constrain 异常 方法 server one
原文地址:https://www.cnblogs.com/srd945/p/9851227.html