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

Popular posts from this blog

Database Integration in FastAPI (SQLAlchemy CRUD)

Middleware & CORS in FastAPI

Python Data Handling