SQLAlchemy常用字段

安装:sudo pip3 install sqlalchemy

model定义

首先导入from sqlalchemy.ext.declarative import declarative_base
然后创建一个实例,Base=declarative_base(),后面所有定义的model都是Base的子类,继承Base。
model中一条数据类似于Excel的行,使用Column。

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String

Base=declarative_base()

class User(Base):
    __tablename__='user'

    id=Column(Integer,primary_key=True,autoincrement=True)
    name=Column(String(20),unique=True,nullable=False)
    pwd=Column(String(100),nullable=False)
    info=Column(Text)
    def __repr__(self):
        return ''%self.name

数据库的连接

from sqlalchemy import create_engine
eng=create_engine(DB_URI)

DB_URI的格式如下:dialect+driver://username:password@host:port/database
例如Mysql,DB_URI=mysql+mysqlclient://scott:tiger@localhost/foo

1.常用字段类型

类型 python中类型 说明
Integer int 普通整数,一般是32位
SmallInteger int 取值范围小的整数,一般是16位
BigInteger int/long 不限制精度的整数
Float float 浮点数
Numeric decimal.Decimal 普通整数,一般是32位
String str 变长字符串,一般String(10)注明长度
Text str 变长字符串,对较长或不限长度的字符串做了优化,不用指明长度
Unicode unicode 变长Unicode字符串
UnicodeText unicode 变长Unicode字符串,对较长或不限长度的字符串做了优化
Boolean boolean 布尔值
Date datetime.date 时间
Time time 时间和日期
LagreBinary str 二进制文件

2. 常用列选项

选项 说明
primary_key 主键,True、False
unique 如果为True,代表这列不允许出现重复的值
index 如果为True,为这列创建索引,提高查询效率
nullable 如果为True,允许有空值,如果为False,不允许有空值
default 定义默认值

3. 关系选项

选项 说明
backref 在关系的另一模型中添加反向引用
primaryjoin 明确指定两个模型之间使用的联结条件
uselist 如果为False,不使用列表,而使用标量值
order_by 指定关系中记录的排序方式
secondary 指定多对多中记录的排序方式
secondaryjoin 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件

你可能感兴趣的:(SQLAlchemy常用字段)