使用FastAPI和sqlalchemy操作数据库

作者:佚名 上传时间:2023-04-24 运行软件:VS Code 软件版本:Python 3.8, FastAPI 0.68.1, SQLAlchemy 1.4.22 版权申诉

本示例代码展示了如何使用FastAPI和sqlalchemy实现基本的数据库操作,包括数据的增、删、改、查等操作。

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from fastapi import FastAPI

app = FastAPI()

SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()

class User(Base):
    __tablename__ = "users"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, index=True)
    age = Column(Integer)

Base.metadata.create_all(bind=engine)

@app.post("/users/") # 新增用户
async def create_user(name: str, age: int):
    db = SessionLocal()
    user = User(name=name, age=age)
    db.add(user)
    db.commit()
    db.refresh(user)
    return user

@app.get("/users/{user_id}/") # 获取指定id的用户
async def read_user(user_id: int):
    db = SessionLocal()
    user = db.query(User).filter(User.id == user_id).first()
    return user

@app.put("/users/{user_id}/") # 更新指定id的用户信息
async def update_user(user_id: int, name: str, age: int):
    db = SessionLocal()
    user = db.query(User).filter(User.id == user_id).first()
    user.name = name
    user.age = age
    db.commit()
    db.refresh(user)
    return user

@app.delete("/users/{user_id}/") # 删除指定id的用户
async def delete_user(user_id: int):
    db = SessionLocal()
    user = db.query(User).filter(User.id == user_id).first()
    db.delete(user)
    db.commit()
    return {"msg": "deleted"}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使用SQLAlchemy操作数据库表过程解析
主要介绍了使用SQLAlchemy操作数据库表过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
PDF
49KB
2020-09-21 09:03
使FastAPIsqlalchemy
本示例代码展示了如何使用FastAPI和sqlalchemy实现基本的数据库操作,包括数据的增、删、改、查等操作。from sqlalchemy import create_engine, Colu
Python 3.8, FastAPI 0.68.1, SQLAlchemy 1.4.22
VS Code
2023-04-24 15:47
使用JDBC操作数据库
使用JDBC操作数据库
RAR
0B
2019-09-07 04:48
Python的Django框架中使用SQLAlchemy操作数据库的教程
SQLAlchemy是Python一个专门的数据库管理工具,如果对Django ORM觉得有些生疏的话完全可以结合SQLAlchemy,这里我们就来总结一下Python的Django框架中使用SQLA
PDF
87KB
2020-09-29 11:05
使用JDBC总结操作数据库
1. 加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");//相当于我们的第三方工具pl/sql 2. 通过驱动获取连接对象Connection
DOCX
0B
2019-03-03 12:57
使用dbutils操作数据库入门
内含dbutils入门文档,sqlServer直连驱动(2000&2005),dbutils的jar包、帮助文档以及源码,入门文档中两种BaseDAO的源码。内容丰富,物超所值!
RAR
0B
2018-12-08 06:43
使用Python操作数据库.pdf
第15章使用Python操作数据库.pdf
PDF
0B
2019-07-09 15:49
如何使用QT操作数据库
为了方便初学者使用QT操作数据库,设计窗口程序,特将此C++源码上传
CPP
8KB
2020-09-27 05:15
SpringBoot使用JdbcTemplate操作数据库
主要介绍了SpringBoot使用JdbcTemplate操作数据库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
PDF
382KB
2020-08-30 03:48
JAVA使用DBUtils操作数据库
主要介绍了JAVA使用DBUtils操作数据库的相关资料,文中示例代码非常详细,帮助大家学习JAVA,感兴趣的朋友可以了解下
PDF
51KB
2020-08-30 03:55