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

        • 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)列注释

最新文章

  1. Python开发:环境搭建(python3、PyCharm)
  2. 简单介绍智能DNS解析+双线路接入
  3. Bestcoder Round# 80
  4. oneThink安装出错解决
  5. CF109 C. Lucky Tree 并查集
  6. 20.allegro.铺铜[原创]
  7. zabbix 参数说明
  8. jQuery插件autoComplete使用
  9. Python基础教程学习(四)类的创建与继承
  10. 菜鸟的jQuery源码学习笔记(一)
  11. 新浪微博id的62进制转换
  12. 我理解的session和cookie
  13. CSS中position属性( absolute | relative | static | fixed )详解
  14. Vue2反向代理
  15. Ajax 与文件上传
  16. Unity 读写文本 文件
  17. 短连接、长连接与keep-alive
  18. Alibaba Cloud Toolkit for Eclipse & ECS、EDAS 或容器服务 Kubernetes
  19. 【开源GPS追踪】 之 服务器硬伤
  20. 软工实践第二次作业-sudoku

热门文章

  1. python基础_类型_dict
  2. 渐变显示渐变消失的BackgroundView
  3. 解析苹果的官方例子LazyTableImages实现图片懒加载原理
  4. Linux stat命令详解
  5. 文件夹名为单字符时右击弹出C++错误
  6. (转)图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)
  7. java判断字符串内容
  8. 基于easyui开发Web版Activiti流程定制器详解(二)——文件列表
  9. docker学习笔记:简单构建Dockerfile【Docker for Windows】
  10. 一劳永逸部署项目:通过tomcat加载环境变量