db.session增删改查例子
时间: 2023-09-23 12:04:26 浏览: 56
下面是使用 Flask 和 SQLAlchemy 进行数据库增删改查操作的示例代码:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
@app.route('/create_user', methods=['POST'])
def create_user():
new_user = User(name='John')
db.session.add(new_user)
db.session.commit()
return 'User created successfully'
@app.route('/update_user/<int:user_id>', methods=['POST'])
def update_user(user_id):
user = User.query.get(user_id)
if user:
user.name = 'New Name'
db.session.commit()
return 'User updated successfully'
else:
return 'User not found'
@app.route('/delete_user/<int:user_id>', methods=['POST'])
def delete_user(user_id):
user = User.query.get(user_id)
if user:
db.session.delete(user)
db.session.commit()
return 'User deleted successfully'
else:
return 'User not found'
@app.route('/get_user/<int:user_id>', methods=['GET'])
def get_user(user_id):
user = User.query.get(user_id)
if user:
return f'User ID: {user.id}, Name: {user.name}'
else:
return 'User not found'
if __name__ == '__main__':
app.run()
```
在上述示例代码中,我们定义了一个 `User` 模型类,它映射到数据库中的用户表。我们通过路由来定义不同的操作,包括创建用户、更新用户、删除用户和获取用户。
- `/create_user` 路由用于创建新用户。我们创建一个新的 `User` 对象,将其添加到 `db.session` 中,然后调用 `db.session.commit()` 提交更改到数据库。
- `/update_user/<int:user_id>` 路由用于更新用户。我们通过 `User.query.get(user_id)` 查询到要更新的用户对象,然后修改其属性并提交更改到数据库。
- `/delete_user/<int:user_id>` 路由用于删除用户。我们通过 `User.query.get(user_id)` 查询到要删除的用户对象,然后调用 `db.session.delete(user)` 并提交更改到数据库。
- `/get_user/<int:user_id>` 路由用于获取用户信息。我们通过 `User.query.get(user_id)` 查询到指定的用户对象,并返回其属性。
请注意,上述示例中的 `your_database_uri` 部分需要替换为实际的数据库连接 URI。另外,这只是一个简单的示例,实际的应用中可能需要更复杂的逻辑和错误处理。