欢迎访问宙启技术站
智能推送

使用SQLAlchemy的sqltypes模块定义数据库表的列类型

发布时间:2023-12-13 16:20:51

SQLAlchemy的sqltypes模块提供了一组用于定义数据库表列类型的类。这些类对应于SQLAlchemy框架支持的不同数据库类型,并提供了一组与该类型相关的方法和属性。

下面是sqltypes模块常用的列类型的一些示例:

1. Integer:整数列类型

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

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(Integer, primary_key=True)
    age = Column(Integer)

在上面的例子中,User表中有一个id列和一个age列,都定义为Integer类型。primary_key=True表示id列是主键。

2. String:字符串列类型

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

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(Integer, primary_key=True)
    name = Column(String(50))

在上面的例子中,User表中有一个id列和一个name列,name列的长度限制为50个字符。

3. Boolean:布尔列类型

from sqlalchemy import Column, Boolean
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(Integer, primary_key=True)
    is_active = Column(Boolean, default=False)

在上面的例子中,User表中有一个id列和一个is_active列,is_active列的默认值为False。

4. DateTime:日期时间列类型

from sqlalchemy import Column, DateTime
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(Integer, primary_key=True)
    created_at = Column(DateTime)

在上面的例子中,User表中有一个id列和一个created_at列,created_at列存储了记录创建的日期和时间值。

5. Float:浮点数列类型

from sqlalchemy import Column, Float
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'user'
    
    id = Column(Integer, primary_key=True)
    weight = Column(Float)

在上面的例子中,User表中有一个id列和一个weight列,weight列存储了用户的体重值。

通过使用sqltypes模块提供的不同列类型,可以根据实际需求有效地定义数据库表的列类型,并在数据库操作中使用这些列类型进行数据的存储和检索操作。