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