FastAPI does not impose any restrictions on database tools,but SQLAlchemy is one of the most powerful ORMs in the python ecosystem. This section will teach you how to configure a database from scratch.
1.Database Integration with SQLAlchemy
Step 1: Install Dependencies
1
pip install sqlalchemy
Step 2: Define Data Models
1 2 3 4 5 6 7 8 9 10 11 12
# models.py from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base
@app.on_event("startup") asyncdefstartup(): print("Starting up...") with engine.begin() as conn: table_exists = conn.execute( text("SELECT name FROM sqlite_master WHERE type='table' AND name='users'") ) ifnot table_exists.scalar(): Base.metadata.create_all(bind=engine) print("Database tables created.")
@app.get("/users") asyncdefread_users(user_id: int, db: Session = Depends(get_db)): user = db.query(User).filter(User.id == user_id).first() return user
db.add(new_user) db.commit() db.refresh(new_user) return {"message": "User created successfully", "user_id": new_user.id}
Step 5: Run the application with uvicorn
1
uvicorn main:app --reload
Step 6: Use Postman for API testing.
Use Postman to call the add_users endpoint to add a user
Use Postman to call the users endpoint to view user information from the database
In summary, mastering FastAPI`s advanced features—such as database integration, authentication, and asynchronous programming—empowers you to build robust, secure, and high-performance web APIs with ease.