前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQLAlchemy Table(表)类

SQLAlchemy Table(表)类

作者头像
py3study
发布2020-01-20 11:51:39
1.8K0
发布2020-01-20 11:51:39
举报
文章被收录于专栏:python3

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
        • autoloadTrue时, 会从传递的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_existingextend_existing互相排斥,不能同时传递为True
  • keep_existingextend_existing适用于新建表对象;如果要创建新的表,表明已经存在于meta.tables中时,需要指明任意一个参数,不然会报错。
  • useexisting已被废弃, 新版本使用extend_existing

Column的构造方法

Column([name, ]type_[, **kwargs]) 参数说明:

  • name 字段名
  • type_ 字段数据类型,这里的数据类型包括:
    • SQLAlchemy中常用数据类型:
      • 整数: SmallIntegerIntegerBigInteger
      • 浮点数: FloatNumeric
      • 文本字符串: StringTextUnicodeUnicodeTextCHARVARCHAR
      • 二进制字符串: LargeBinaryBINARYVARBINARY
      • 日期时间: DateDateTimeTIMESTAMP
    • Constraint: 约束
    • ForeignKey: 外键
    • ColumnDefault: 列默认值
  • kwargs主要内容:
    • autoincrement: (False)是否是主键
    • default: (None)默认值
    • index: (None)索引
    • nullable: (True)是否可以为空(NULL)
    • primary_key: (False)是否是主键
    • server_default: (None)服务端(数据库中的函数)默认值
    • unique: (False)是否唯一
    • comment: (None)列注释
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Column的构造方法
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档