[PYTHON] sqlalchemy

import sqlalchemy
import sqlalchemy.ext.declarative
import sqlalchemy.orm

#Create database in memory with sqlite
#engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True)

#sqlite
#engine = sqlalchemy.create_engine('sqlite:///:test_sqlite2.db', echo=True)

#mysql
engine = sqlalchemy.create_engine('mysql+pymysql://root:@localhost/test_mysql_database2')

Base = sqlalchemy.ext.declarative.declarative_base()

class Person(Base):
    __tablename__ = 'persons'
    id = sqlalchemy.Column(
        sqlalchemy.Integer, primary_key=True, autoincrement=True)
    name = sqlalchemy.Column(
        sqlalchemy.String(14)
    )


Base.metadata.create_all(engine)

Session = sqlalchemy.orm.sessionmaker(bind=engine)
session = Session()

p1 = Person(name='Mike')
session.add(p1)
p2 = Person(name='Nancy')
session.add(p2)
p3 = Person(name='Jun')
session.add(p3)
session.commit()

p4 = session.query(Person).filter_by(name='Mike').first()
p4.name = 'michel'
session.add(p4)
session.commit()

p5 = session.query(Person).filter_by(name='Nancy').first()
session.delete(p5)
session.commit()

persons = session.query(Person).all()
for person in persons:
    print(person.id, person.name)

output:

1 michel
3 Jun
4 michel
6 Jun

Recommended Posts

sqlalchemy
sqlalchemy tutorial
SQLAlchemy notes
SQLAlchemy Pit
SQLAlchemy BaseModel
[SQLAlchemy] Read data
Use SQLAlchemy and multiprocessing
Basic usage of SQLAlchemy
Use Enums with SQLAlchemy
sqlalchemy table definition tips
OperationalError in SQLAlchemy + SQLite3