CRUD Operations in SQLAlchemy
What is CRUD?
| Operation | Meaning |
|---|---|
| Create | Insert data |
| Read | Fetch data |
| Update | Modify data |
| Delete | Remove data |
CREATE (Insert Data)
new_user = User(name="Alice", email="alice@example.com")session.add(new_user)session.commit()
READ (Query Data)
Get All Users
users = session.query(User).all()for user in users:print(user.name, user.email)
Filter Data
user = session.query(User).filter_by(name="Alice").first()print(user.email)
UPDATE Data
user = session.query(User).filter_by(name="Alice").first()user.email = "alice_new@example.com"session.commit()
DELETE Data
user = session.query(User).filter_by(name="Alice").first()session.delete(user)session.commit()Transaction Handling (Very Important)
try:session.add(User(name="Bob", email="bob@example.com"))session.commit()except:session.rollback()Bulk Insert
users = [User(name="A", email="a@test.com"),User(name="B", email="b@test.com"),]session.bulk_save_objects(users)session.commit()Real-World Example
API Endpoint (FastAPI Style)
@app.post("/users")def create_user(name: str, email: str):user = User(name=name, email=email)session.add(user)session.commit()return {"message": "User created"}Common Mistakes
- Forgetting
commit()- Using
.all()when only one record needed- Not handling exceptions
Comments
Post a Comment