from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column
from sqlalchemy import Integer,String,Text,Date,DateTime
from sqlalchemy import create_engine
Base = declarative_base()
class Users(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(32), index=True, nullable=False)
def create_all():
engine = create_engine(
"mysql+pymysql://root:123456@127.0.0.1:3306/day120?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
Base.metadata.create_all(engine)
def drop_all():
engine = create_engine(
"mysql+pymysql://root:123456@127.0.0.1:3306/day120?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column
from sqlalchemy import Integer,String,Text,Date,DateTime
from sqlalchemy import create_engine
Base = declarative_base()
class Users(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(32), index=True, nullable=False)
def create_all():
engine = create_engine(
"mysql+pymysql://root:123456@127.0.0.1:3306/day120?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
Base.metadata.create_all(engine)
def drop_all():
engine = create_engine(
"mysql+pymysql://root:123456@127.0.0.1:3306/day120?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
Base.metadata.drop_all(engine)
if __name__ == '__main__':
create_all()
)
Base.metadata.drop_all(engine)
if __name__ == '__main__':
create_all()
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
from s1 import Users
engine = create_engine(
"mysql+pymysql://root:123456@127.0.0.1:3306/day120?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
SessionFactory = sessionmaker(bind=engine)
# 根据Users类对users表进行增删改查
session = SessionFactory()
# 增
# obj=Users(name="alex")
# session.add(obj)
# session.commit()
# 查
# ret=session.query(Users).all()
# for item in ret:
# print(item.name)
# ret=session.query(Users).filter(Users.id==1).first()
# ret = session.query(Users).filter_by(id = 1).first()
# print(ret.name)
# 3.删
# session.query(Users).filter(Users.id >= 2).delete()
# session.commit()
#
# session.query(Users).filter(Users.id == 1).update({Users.name: '111'})
# session.commit()
session.query(Users).filter(Users.id == 4).update({Users.name:"666"})
session.close()