[PYTHON] sqlalchemy Tutorial

sqlalchemy: ORM (Object Relational Mapper) von Python. ORM ist kurz gesagt eine Bibliothek, die Relational DataBase wie ein Python-Objekt behandeln kann.

Installation

$ pip install SQLAlchemy

1. Erstellen Sie eine Datenbank

1. Stellen Sie eine Verbindung zur Datenbank her

from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:', echo=True)

Wenn echo = True, wird das ausgegebene SQL im Protokoll ausgespuckt

2. Erstellen Sie eine Basisklasse

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

3. Definieren Sie die Tabelle

from sqlalchemy import Column, Integer, String

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)

    def __repr__(self):
        return "<User(name='%s', fullname='%s', password='%s')>" % (
                self.name, self.fullname, self.password)

4. Machen Sie einen Tisch

Base.metadata.create_all(engine)

Um das Obige zusammenzufassen

database_setup.py


from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine

Base = declarative_base()


class Restaurant(Base):
    __tablename__ = 'restaurant'

    id = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)

    @property
    def serialize(self):
        """Return object data in easily serializeable format"""
        return {
            'name': self.name,
            'id': self.id,
        }


class MenuItem(Base):
    __tablename__ = 'menu_item'

    name = Column(String(80), nullable=False)
    id = Column(Integer, primary_key=True)
    description = Column(String(250))
    price = Column(String(8))
    course = Column(String(250))
    restaurant_id = Column(Integer, ForeignKey('restaurant.id'))
    restaurant = relationship(Restaurant)

    @property
    def serialize(self):
        """Return object data in easily serializeable format"""
        return {
            'name': self.name,
            'description': self.description,
            'id': self.id,
            'price': self.price,
            'course': self.course,
        }


engine = create_engine('sqlite:///restaurantmenu.db')


Base.metadata.create_all(engine)

2. Fügen Sie der Tabelle Mitglieder hinzu

1. Aufruf eines Objekts in database_setup.py

from sqlalchemy import create_engine
from database_setup import Base, Restaurant, MenuItem
engine = create_engine('sqlite:///restaurantMenu.db')
Base.metadata.bind=engine

2. Erstellen Sie eine Sitzung

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

3. CRUD-Betrieb

#create
new_restaurant = Restaurant(name='Pizza Palace')
session.add(new_restaurant)
session.commit()

#read
session.query(Restaurant).all()

#update
burger = session.query(MenuItem).filter_by(name = 'Burger').one()
burger.price = '$2.99'
session.add(burger)
session.commit()

#delete
ice_cream = session.query(MenuItem).filter_by(name = 'Ice Cream').one()
session.delete(ice_cream)
session.commit()

Weitere Informationen finden Sie unter Offizielles Tutorial. Es ist sehr gut organisiert.

Recommended Posts

sqlalchemy Tutorial
sqlalchemy
SQLAlchemy note
PyODE Tutorial 2
Python-Tutorial
PyODE Tutorial 1
PyODE Tutorial 3
Fallstricke bei SQL Alchemy
SQLAlchemy BaseModel
TensorFlow Tutorial Tutorial
Quantopian Tutorial LEKTION 10
RabbitMQ Tutorial 5 (Thema)
Quantopian Tutorial LEKTION 8
Quantopian Tutorial LEKTION 1, 2
Quantopian Tutorial LEKTION 6
Python Django Tutorial (5)
Python Django Tutorial (2)
Zusammenfassung des Python-Tutorials
RabbitMQ Tutorial 6 (RPC)
Django Tutorial Memo
Ryu Tutorial Nachtrag
Python Django Tutorial (8)
Python Django Tutorial (6)
Starten Sie das Django Tutorial 1
Quantopian Tutorial LEKTION 9
Quantopian Tutorial LEKTION 5
[SQL Alchemy] Daten lesen
Quantopian Tutorial LEKTION 3
Quantopian Tutorial LEKTION 7
5 Minuten gRPC-Tutorial
Python Django Tutorial (7)
Python Django Tutorial (1)
Quantopian Tutorial LEKTION 4
Python Django Tutorial Tutorial
Quantopian Tutorial LEKTION 11
Python Django Tutorial (3)
RabbitMQ Tutorial 4 (Routing)
zipline Anfänger Tutorial
[Übersetzung] Hyperopt-Tutorial
Python Django Tutorial (4)