SQLAlchemy的类型定义语法

表名配置(核心魔法属性)

复制代码
__tablename__ = "favorite"
  • 双下划线开头 + 结尾:SQLAlchemy 固定魔法属性
  • 作用:指定数据库里的表名

表级配置(约束、索引)

复制代码
__table_args__ = ( ... )
  • 同样是双下划线
  • 用于给表添加:
    • 唯一约束
    • 索引
    • 存储引擎
    • 字符集
  • 必须是元组格式 ( , )

字段定义语法(最核心)

复制代码
字段名: Mapped[类型] = mapped_column(参数...)

Mapped[类型]Python 类型注解
mapped_column(参数):对该字段的属性设置

mapped_column () 通用常用属性
复制代码
mapped_column(
    # 1. 数据库字段类型
    Integer, String(32), Text, DateTime, Boolean, Float, Decimal

    # 2. 主键
    primary_key=True,  # 设为主键
    autoincrement=True,  # 自增(整数主键常用)

    # 3. 非空 / 允许为空
    nullable=True,  # 不允许为空(默认 True)

    # 4. 唯一
    unique=True,  # 字段值唯一(如手机号、用户名)

    # 5. 默认值
    default=datetime.utcnow,  # Python 层默认值
    server_default="CURRENT_TIMESTAMP",  # 数据库层默认

    # 6. 注释
    comment="字段说明",

    # 7. 索引
    index=True,  # 快速创建普通索引

    # 8. 只读 / 不更新
    insert_only=True,  # 只插入,不允许更新

    # 9. 隐藏字段(ORM 可用,查询默认不显示)
    deferred=True,
)
相关推荐
做一个AK梦4 分钟前
论基于云原生数据库的企业信息系统架构设计
数据库·云原生
风哥2号14 分钟前
PostgreSQL数据库恢复工具FGPDU(FGEDU PostgreSQL DUL)
数据库·postgresql
智购科技智能售货柜18 分钟前
2026自动售货机峰值交易流量应对方案:从消息削峰到弹性扩容的工程实践~YH
数据库·人工智能·单片机·嵌入式硬件·yolo
JavaPub-rodert29 分钟前
Ontop 详解:不搬数据库,也能把 MySQL / PostgreSQL 变成知识图谱
数据库·mysql·postgresql
xiaoxiang96091 小时前
Git 分支同步实战:`merge -X theirs` 与完全合并方案
数据库·git·elasticsearch
GoppViper1 小时前
用户测试如何提升SEO转化率?四种实操方法与案例解析
数据库·经验分享
先吃饱再说2 小时前
后端开发绕不开的 SQL:从建表、查询到索引优化,一篇讲透
数据库·后端·sql
敲代码的小小酥2 小时前
InfluxDB时序数据库(续)
数据库·时序数据库
智购科技自动贩卖机2 小时前
自动售货机嵌入式系统Go语言开发实践:从资源受限设备到RTOS协程调度的工程化之路
大数据·linux·数据库·人工智能·yolo·架构·golang
SelectDB2 小时前
2026 年 Apache Doris 和 StarRocks 怎么选?一篇更接近真实选型的对比
大数据·数据库·数据分析