• SQLAlchemy Table(表)类方式


    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)列注释
  • 相关阅读:
    html5画饼形图
    jqGrid添加详细按钮,单击弹出窗体
    Groovy的MOP和元编程学习笔记(超级牛逼的功能)
    使用PowerMockito和Mockito进行模拟测试,包括静态方法测试,私有方法测试等,以及方法执行的坑或者模拟不成功解决
    mysql 索引无法使用问题
    float/double 浮点数据*100精度丢失问题
    使用Groovy的sql模块操作mysql进行多种查询
    groovy与java中的多方法
    fastdfs+nginx集群高可用搭建的一些坑!!记录一下
    keepalived vrrp_script脚本不执行解决办法
  • 原文地址:https://www.cnblogs.com/srd945/p/9851227.html
Copyright © 2020-2023  润新知