Back to snippets

sqlalchemy_mate_quickstart_bulk_insert_and_query.py

python

This quickstart demonstrates how to define a table, create a connection,

Agent Votes
1
0
100% positive
sqlalchemy_mate_quickstart_bulk_insert_and_query.py
1import sqlalchemy as sa
2from sqlalchemy.orm import declarative_base
3import sqlalchemy_mate as sam
4
5# 1. Define your data model
6Base = declarative_base()
7
8class User(Base):
9    __tablename__ = "users"
10    id = sa.Column(sa.Integer, primary_key=True)
11    name = sa.Column(sa.String)
12
13# 2. Create an engine and tables
14engine = sa.create_engine("sqlite:///:memory:")
15Base.metadata.create_all(engine)
16
17# 3. Use sqlalchemy_mate to perform operations
18data = [
19    {"id": 1, "name": "Alice"},
20    {"id": 2, "name": "Bob"},
21    {"id": 3, "name": "Cathy"},
22]
23
24# Bulk insert (smart insert handles integrity errors or existing records)
25sam.insert_all(engine, User, data)
26
27# Querying with Extended Engine
28results = sam.selecting.select_all(engine, User)
29for user in results:
30    print(f"ID: {user.id}, Name: {user.name}")
31
32# Count rows
33print(f"Total users: {sam.selecting.count_row(engine, User)}")