下载工具包
pip install sqlalchemy mysql-connector-python
写配置
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(100))
email = Column(String(100))
def __repr__(self):
return f"<User(id={self.id}, name='{self.name}', email='{self.email}')>"
class Dog(Base):
__tablename__ = 'dog'
id = Column(Integer, primary_key=True)
name = Column(String(100))
age = Column(Integer)
def __repr__(self):
return f"<Dog(id={self.id}, name='{self.name}', age='{self.age}')>"
engine = create_engine('mysql+mysqlconnector://root:[email protected]:3306/py-test')
Session = sessionmaker(bind=engine)
session = Session()
Base.metadata.create_all(engine)
测试新增和查询
from Db import User, session, Dog
new_user = User(id=7, name='Alice', email='[email protected]')
new_dog = Dog(id=7, name='Alice', age=15)
session.add(new_user)
session.add(new_dog)
users = session.query(User).all()
dogs = session.query(Dog).all()
for user in users:
print(user)
for dog in dogs:
print(dog)
session.commit()
测试修改
from Db import session, User
user_to_update = session.get(User, 4)
user_to_update.name = 'Alice Updated'
user_to_update.email = '[email protected]'
session.commit()
测试删除
from Db import session, User
user_to_delete = session.get(User, 4)
session.delete(user_to_delete)
session.commit()