使用sqlalchemy.funcrandom()函数生成随机数据
发布时间:2024-01-05 15:15:31
在SQLAlchemy中,可以使用func.random()函数来生成随机数据。func.random()函数是SQLAlchemy中内置的函数之一,用于生成随机数。
下面是一个使用func.random()函数生成随机数据的例子:
from sqlalchemy import create_engine, Column, Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import func
# 创建一个数据库引擎
engine = create_engine('sqlite:///example.db')
# 创建一个Session类
Session = sessionmaker(bind=engine)
# 创建一个基类
Base = declarative_base()
# 创建一个模型类
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(Integer)
age = Column(Integer)
# 创建表
Base.metadata.create_all(engine)
# 创建Session对象
session = Session()
# 添加随机数据
for i in range(1000):
name = "User {}".format(i)
age = session.query(func.random() * 100).scalar()
user = User(name=name, age=age)
session.add(user)
# 提交事务
session.commit()
# 查询随机数据
result = session.query(User).filter(User.age > 50).all()
# 输出结果
for user in result:
print(user.name, user.age)
# 关闭Session
session.close()
在上面的例子中,我们创建了一个名为"users"的数据库表,包含id、name和age三列。然后使用循环添加了1000条随机数据,其中age列使用了func.random() * 100来生成0到100之间的随机数。接着使用filter()方法查询age大于50的数据,并将结果打印输出。
需要注意的是,不同的数据库系统对随机数的生成方式会有所不同。在上述的例子中,使用的是SQLite数据库,而在其他数据库系统中可能需要使用不同的方式来生成随机数。
