Python中使用SQLAlchemy.types模块定义数据库字段类型
发布时间:2023-12-23 09:13:05
在Python中,SQLAlchemy是一个流行的对象关系映射(ORM)工具,它允许我们使用Python代码来操作关系型数据库。SQLAlchemy模块包含一个types模块,该模块定义了一些常见的数据库字段类型。下面是一些常用的数据库字段类型以及它们在SQLAlchemy中的使用示例:
1. String:表示字符串字段。可以指定最大长度。
from sqlalchemy import Column, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
name = Column(String(50))
2. Integer:表示整数字段。
from sqlalchemy import Column, Integer
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
age = Column(Integer)
3. Float:表示浮点数字段。
from sqlalchemy import Column, Float
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = 'products'
price = Column(Float)
4. Boolean:表示布尔字段。
from sqlalchemy import Column, Boolean
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
is_active = Column(Boolean)
5. DateTime:表示日期和时间字段。
from sqlalchemy import Column, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
created_at = Column(DateTime)
6. Text:表示长文本字段。
from sqlalchemy import Column, Text
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class BlogPost(Base):
__tablename__ = 'blog_posts'
content = Column(Text)
7. Enum:表示枚举字段,用于存储一组预定义的值。
from sqlalchemy import Column, Enum
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
role = Column(Enum('admin', 'user'))
8. JSON:表示JSON字段,用于存储JSON格式的数据。
from sqlalchemy import Column, JSON
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
data = Column(JSON)
这些只是SQLAlchemy中可用的一些字段类型的示例。根据不同的数据库引擎,还有其他一些可用的字段类型。
