flask db.session.execute 用法
时间: 2024-09-17 20:08:58 浏览: 113
Server.Execute方法执行指定的ASP程序
在Flask-SQLAlchemy中,`db.session.execute()` 方法用于直接执行一条原始的SQL语句,而不是通过模型操作数据库。这通常在你需要执行一些特定的、基于元数据的操作时使用,比如运行复杂的自定义SQL查询、存储过程或者是对ORM无法覆盖的场景。
以下是基本的用法示例:
```python
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
# 假设我们有一个User模型
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
# 执行SQL语句
with app.app_context():
result = db.session.execute("SELECT * FROM users WHERE age > ?", (20,))
for row in result.fetchall():
print(row)
# 关闭连接
db.session.commit()
```
在这个例子中,`execute()`方法接收一个SQL字符串和一个元组作为参数,其中元组中的值会被序列化并插入到SQL语句相应的位置。
阅读全文