Skip to content

Instantly share code, notes, and snippets.

@gearbox
Forked from DmitryBe/app.py
Last active June 25, 2019 07:30
Show Gist options
  • Save gearbox/8fb2b620c4f4edbaf73dd16deaa857d6 to your computer and use it in GitHub Desktop.
Save gearbox/8fb2b620c4f4edbaf73dd16deaa857d6 to your computer and use it in GitHub Desktop.
SQLAlchemy quick start
# http://bytefish.de/blog/first_steps_with_sqlalchemy/
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from datetime import datetime, timedelta
from sqlalchemy import Table, Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship, backref
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class Tag(Base):
__tablename__ = 'tags'
id = Column(Integer, primary_key=True)
name = Column(String(255), unique=True, nullable=False)
def __repr__(self):
return "<Tag (name='%s')>" % (self.name)
# connection
engine = create_engine('postgresql://postgres:mysecretpassword@localhost:5432/db01')
# create metadata
Base.metadata.create_all(engine)
# create session
Session = sessionmaker(bind=engine)
session = Session()
# insert data
tag_cool = Tag(name='cool')
tag_car = Tag(name='car')
tag_animal = Tag(name='animal')
session.add_all([tag_animal, tag_car, tag_cool])
session.commit()
# query data
t1 = session.query(Tag).filter(Tag.name == 'cool').first()
# update entity
t1.name = 'cool-up'
session.commit()
# delete
session.delete(t1)
session.commit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment