Back to snippets
sqlalchemy_mate_quickstart_bulk_insert_and_query.py
pythonThis 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)}")